Установка драйвера MySQL ODBC в Linux Mint

ODBC – это стандартный интерфейс между базой данных и приложением, взаимодействующим с ней. Наличие подобного стандарта позволяет приложению на клиентском компьютере получать доступ к любой базе данных на сервере, используя SQL.

У организации, в которой я работаю, есть несколько сайтов с калькуляторами, для расчета стоимости изготовления фотокниг, печатей и штампов. Для оформления заказов мы используем 1С, поэтому появилась мысль выгружать расчеты с сайтов в программу. В общем то ни чего нового мы не придумали, поэтому через день 1С-ка замечательно отрабатывала заказы с сайтов через ODBC-драйвер на машинах под ОС Windows используя COMОбъекты.

Все бы ни чего, но появилась потребность подключаться к сайтам с машин под управлением OC Linix Mint, а так как COMОбъекты это «фишка» Windows, естественно все перестало работать.

В редакции платформы 1С 8.2.14 появилась возможность устанавливать связь с внешними источниками данных и работает она с ними так же через механизм ODBC, но без использования COMОбъектов. Т.е. установив ODBC драйвер нам потребовалось бы только поправить обработку подключения к базе данных сайта.

Установка ODBC драйвера

Поиск в интернете сразу же выдал список сайтов с описанием процесса установки, правда на ОС Ubuntu, который сводился к выполнению простой команды:

apt-get install libmyodbc

Ну что же, в Linux Mint одним из стандартных репозиториев является убунтовский. Все просто — одна команда и можно работать! Пробуем и… сталкиваемся с проблемой поиска драйвера ODBC.

# apt-get install libmyodbc
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package libmyodbc is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
E: Package 'libmyodbc' has no installation candidate

Оказывается такого пакета больше не существует. Согласно архивам его удалили после обнаружения соответствующего бага.

Поэтому все становится несколько сложнее.

  1. Установим unixODBC, если не установлен :
    sudo apt-get install unixodbc
  2. С сайта MySQL скачиваем последнюю, стабильную версию драйвера для Ubuntu (я взял mysql-connector-odbc-5.3.10-linux-ubuntu17.10-x86-64bit.tar.gz).
  3. Распаковываем его:
    tar -xvf mysql-connector-odbc-5.3.10-linux-ubuntu17.10-x86-64bit.tar.gz
  4. Копируем драйвер в папку для ODBC:
    sudo cp mymysql-connector-odbc-5.3.10-linux-ubuntu17.10-x86-64bit/lib/libmyodbc5* /usr/lib/x86_64-linux-gnu/odbc/
  5. Инсталлируем:
    mysql-connector-odbc-5.3.10-linux-ubuntu17.10-x86-64bit/bin/myodbc-installer -d -a -n "MySQL" -t "DRIVER=/usr/lib/x86_64-linux-gnu/odbc/libmyodbc5w.so;"
  6. Настройка ODBC выполняется редактированием файлов odbcinst.ini и odbc.ini. В моем случае, для работы с 1С мне нужно настроить файл  /etc/odbcinst.ini, который используется для перечисления установленных драйверов баз данных ODBC:
    [MySQL]
    Description     = ODBC for MySQL
    Driver          = /usr/lib/x86_64-linux-gnu/odbc/libmyodbc5a.so
    Setup           = /usr/lib/x86_64-linux-gnu/odbc/libodbcmy5S.so
    FileUsage       = 1

Теперь можно проверить видит ли ODBC драйвер для MySQL

odbcinst -q -d

Если все сделано правильно, мы должны увидеть следующее:

[MySQL]

 

 

1 комментарий

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *