Установка Ubuntu 16.04 LTS: как установить ODBC?

После установки новой новой версии Ubuntu 16.04 я попытался установить ODBC MySQL в соответствии с официальной документацией по адресу https://help.ubuntu.com/community/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

Я вижу, что это хорошее начало!

Поиск в ODBC-хранилище пакетов также не был особенно полезен. Это очень важная часть любой современной системы Linux! Куда это делось?!

PS: Обновление документации на help.ubuntu.com было бы неплохо!

Отредактировано, чтобы добавить: Кроме того, кажется, что файл драйвера libmyodbc.so не существует в этой версии Ubuntu.

3 ответа

Решение

Загрузите непосредственно с dev.mysql.com: https://dev.mysql.com/downloads/connector/odbc/

Выберите Ubuntu 16.04 64-битный или 32-битный (вероятно, 64-битный), загрузите TAR ball, затем скопируйте файл libmyodbc5a.so в /usr/lib/x86_64-linux-gnu/odbc/

затем создать /etc/odbcinst.ini

[MySQL]
Description = ODBC for MySQL
Driver = /usr/lib/x86_64-linux-gnu/odbc/libmyodbc5a.so
Setup = /usr/lib/x86_64-linux-gnu/odbc/libodbcmyS.so
FileUsage = 1

а также /etc/odbc.ini

[my-connector]
Description           = MySQL connection to  database
Driver                = MySQL
Database              = mydb
Server                = localhost
User             = dbuser
Password              = dbpass
Port                  = 3306
Socket                = /var/run/mysqld/mysqld.sock

Обратите внимание, что тег username - это User (а не username, как видно в некоторых примерах), и сокет находится под /var/run и не под /var/lib

echo "select 1" | isql -v my-connector

тогда работал на меня

Я нашел это в http://dev.mysql.com/downloads/connector/odbc/(я выбрал "Ubuntu Linux 15.10 (x86, 64-bit), Compressed TAR Archive")

Загрузите его и извлеките файлы, затем вы получите libmyodbc5a.so (для системы ANSI) и libmyodbc5w.so (для Unicode).

Пакет доступен для Xenial, и его можно увидеть здесь. Поэтому его следует установить. Убедитесь, что вы запустили sudo apt-get update перед установкой. Также убедитесь, что репозиторий юниверсов для Xenial является частью ваших источников (как показано выше по ссылке, этот пакет принадлежит репозиторию юниверсов). Вы можете проверить, что этот источник является частью ваших доступных источников в etc/apt/sources.list файл. Там должна быть строка, такая как:

deb http://com.archive.ubuntu.com/ubuntu/ xenial universe

(Зеркало может отличаться от com.archive...)

Если вы все еще не можете установить его (что странно), перейдите на вышеуказанный веб-сайт, выберите версию своей архитектуры и загрузите файл.deb. Например, для amd64 это файл: http://launchpadlibrarian.net/141005765/libmyodbc_5.1.10-3_amd64.deb. Затем откройте терминал, перейдите в папку с файлом и запустите:

sudo dpkg -i file.deb
sudo apt-get install -f

(Последняя команда на случай, если некоторые зависимости не удовлетворены)

Другие вопросы по тегам