Встановлення Ubuntu 16.04 LTS: Як встановити ODBC?


16

Після встановлення нової нової копії Ubuntu 16.04 я спробував встановити MySQL ODBC згідно з офіційною документацією за адресою 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 також було б непогано!

Відредаговано, щоб додати: Крім того, здається, що у цій версії Ubuntu файл драйвера libmyodbc.so не існує.


спробуйте apt-cache search libmyodbcперелічити пакунки з подібною назвою. Про це і є "про що інший пакет". Або перевірте, чи вказано в синаптичному. Не забувайте apt-get updateперед тим, як встановлювати / оновлювати пакети apt.
Lord_PedantenStein

Я не турбуюся apt-кешем, я просто шукаю пакунки.ubuntu.com .
Ерні

Так чи інакше, libmyodbcне існує 16.04.
edwinksl

Класно. Як змусити ODBC працювати 16.04? У мене є програмне забезпечення, яке цього абсолютно вимагає.
Ерні

Відповіді:


9

Завантажте безпосередньо з dev.mysql.com: https://dev.mysql.com/downloads/connector/odbc/

Виберіть Ubuntu 16.04 64 біт або 32 біт (можливо 64 біт), завантажте кульку TAR, а потім скопіюйте файл 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

Зауважте, що тег імені користувача є User (а не ім'я користувача, як видно в деяких прикладах), а сокет знаходиться під, /var/runа не під/var/lib

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

потім працював на мене


1
Зверніть увагу, що odbcinst.ini, як пропонується, призначений для ANSI-версії драйвера. Якщо вам потрібні символи UNICODE, вам краще libmyodbc5w.so
погодитись

Дякую за вашу відповідь. Це працює як шарм в Ubuntu 16.04
e_soroush

Про всяк випадок, коли хтось потрапить на проблему, я потрапив: "Найновішим" станом на 2018-09-01 був v8.12. Я зіткнувся з помилкою в останній час в обох цих випадках і спробував використати версію 5.X. Але на сайті dev.mysql.com було доступно лише 8,12 або 5,11. Я переглянув Інтернет за версією 5.10, на яку я був впевнений, що буде працювати, і знайшов це на дзеркалі FTP. Є ряд таких, переважно в університетах. Отже, коротке оповідання: щоб понизити рівень оновлення, спробуйте googling "mysql ftp зеркало"
JDS

2

Пакет є для дружнього і його можна побачити тут . Тому його слід встановити. Переконайтеся, що ви запустили a 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

(Остання команда є у випадку, якщо деякі залежності не виконані)


4
Пакет використовується Існувати, але він був видалений з universeрепозиторію , як ви можете бачити з його видавничої історії в launchpad.net/ubuntu/+source/myodbc/5.1.10-3/+publishinghistory . Причина його видалення наведена на bugs.launchpad.net/ubuntu/+source/myodbc/+bug/1564856 . Увімкнення universeрепо не допоможе. Пакет "доступний" у дуже конкретному сенсі цього слова, тобто його .debфайл до видалення доступний. .debФайл можна встановити за допомогою sudo dpkg -i, але пакет деякий час не підтримувався і, ймовірно, зламаний.
edwinksl

2

Я знайшов це в http://dev.mysql.com/downloads/connector/odbc/ (я вибрав "Ubuntu Linux 15.10 (x86, 64-розрядний), стислий архів TAR")

Завантажте його та витягніть файли, тоді ви отримаєте libmyodbc5a.so (для системи ANSI) та libmyodbc5w.so (для Unicode).

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.