Table of Contents

Wenn du denkst, du hast alles richtig gemacht, nachdem du einer der halb vollständigen Anleitungen da draußen gefolgt bist, und dann wirst du nach der mühseligen Installation von ein paar ODBC-Treibern doch mit der folgenden Fehlermeldung begrüßt:

1[ISQL]ERROR: Could not SQLDriverConnect
2[01000][unixODBC][Driver Manager]Can't open lib '/usr/local/lib/libmyodbc8w.so' : file not found
3[ISQL]ERROR: Could not SQLDriverConnect

Doch tatsächlich existiert die Datei. Die Fehlermeldung ist nur etwas unpräzise und vermutlich hast du die falschen Treiber heruntergeladen. Damit dir das nicht noch mal passiert, hier eine endgültige, hoffentlich vollständige Anleitung zur Installation der MySQL-ODBC Treiber (unter Ubuntu, aber leicht übertragbar auf andere Distributionen):

Die richtige Treiber-Version herunterladen

Zunächst musst du herausbekommen, welche Betriebssystem-Version du nutzt. Das funktioniert mit:

1$ lsb_release -a
2Distributor ID: Ubuntu
3Description:    Ubuntu 16.04.5 LTS
4Release:        16.04
5Codename:       xenial

Außerdem benötigst du noch deinen Architektur-Typ, also 32- oder 64bit. Wenn LSB diese Info nicht liefert, kannst du folgendes probieren:

1$ uname -a
2Linux 192.168.10.10 4.4.0-042stab136.1 #1 SMP Wed Feb 27 09:04:24 MSK 2019 x86_64 x86_64 x86_64 GNU/Linux

Mit diesen Informationen ausgestattet, besorgst du dir nun die passenden Treiber-Dateien von https://dev.mysql.com/downloads/connector/odbc/ - ich gehe mal davon aus, dass du die aktuellste MySQL-Version benutzt und deshalb auch die Treiber in der Version 8 benötigst.

Kopiere dir am besten den Download-Link, damit du das Archiv direkt auf dem Server mit wget herunterladen kannst, z.B. so:

1$ wget https://dev.mysql.com/get/Downloads/Connector-ODBC/8.0/mysql-connector-odbc-8.0.15-linux-ubuntu16.04-x86-64bit.tar.gz

Die Treiber installieren und registrieren

Wenn der Download beendet wurde, entpackst du die Datei mit den folgenden Befehlen und wechselst danach in das soeben entstandene Verzeichnis:

1$ gunzip mysql-connector-odbc-8.0.15-linux-ubuntu16.04-x86-64bit.tar.gz
2$ tar xvf mysql-connector-odbc-8.0.15-linux-ubuntu16.04-x86-64bit.tar
3$ cd mysql-connector-odbc-8.0.15-linux-ubuntu16.04-x86-64bit

Nun kopierst du das Installations-Script - was du vermutlich nicht benötigen wirst - und die Treiber-Dateien in die entsprechenden Ordner:

1$ cp bin/* /usr/local/bin
2$ cp lib/* /usr/local/lib

Das war es schon fast. Als nächstes musst du die Treiber noch “anmelden”. Mit diesem Befehl bekommst du heraus, wo sich die Einstellungs-Datei für ODBC befindet.

1$ odbcinst -j
2unixODBC 2.3.6
3DRIVERS............: /etc/odbcinst.ini
4SYSTEM DATA SOURCES: /etc/odbc.ini
5FILE DATA SOURCES..: /etc/ODBCDataSources
6USER DATA SOURCES..: /root/.odbc.ini
7SQLULEN Size.......: 8
8SQLLEN Size........: 8
9SQLSETPOSIROW Size.: 8

Es kann durchaus sein, dass die Datei für die Treiber (/etc/odbcinst.ini) noch nicht existiert, dann legst du sie einfach an und ergänzt die folgenden Zeilen:

1$ nano /etc/odbcinst.ini
2[MySQL ODBC 8.0 Unicode Driver]
3Driver=/usr/local/lib/libmyodbc8w.so
4UsageCount = 1
5[MySQL ODBC 8.0 ANSI Treiber]
6Driver=/usr/local/lib/libmyodbc8a.so
7UsageCount = 1

Wie du siehst, steckt dahinter keine Raktentechnologie und in den meisten Fällen dürften diese Grundeinstellungen ausreichen. Du kannst die Datei natürlich noch ausbauen, eine ganze Menge zusätzlicher Parameter festlegen und nicht nur für MySQL nutzen (siehe hier).

Die Funktionalität testen

Zum Abschluss kannst du folgendermaßen prüfen, ob die Einrichtung funktioniert hat. Wie du siehst, referenzierst du die oben registrierten Treiber:

1$ isql -v -k "DRIVER={MySQL ODBC 8.0 Unicode Driver};SERVER=192.168.10.99;UID=root;PWD=password"

Sollte der Aufruf mit der folgenden Fehlermeldung quittiert werden, prüfe zunächst, ob die Datei vorhanden ist. Wenn dem so ist, ist es möglich, dass du oben die falschen Architektur oder Version der Treiber ausgewählt hast - auch dann beschwert sich isql, dass die Datei “nicht gefunden werden kann”:

1[01000][unixODBC][Driver Manager]Can't open lib '/usr/local/lib/libmyodbc8w.so' : file not found
2[ISQL]ERROR: Could not SQLDriverConnect

Ansonsten solltest du auf die Konsole von deinem MySQL-Server gelangen, die in etwa so aussieht - und dann hast du alles richtig gemacht:

1+---------------------------------------+
2| Connected!                            |
3|                                       |
4| sql-statement                         |
5| help [tablename]                      |
6| quit                                  |
7|                                       |
8+---------------------------------------+
9SQL>

Zusammenfassung

Dieser Artikel bietet eine detaillierte Anleitung zur Installation und Konfiguration des korrekten MySQL ODBC-Treibers auf einem Linux-Server (Ubuntu). Er behandelt die Auswahl der passenden Treiberversion, den Download, die Installation und Registrierung des Treibers sowie die Überprüfung der Funktionalität, inklusive der Behebung häufiger Fehler bei der Treiberinstallation.


Hauptthemen: MySQL ODBC Linux Server Administration Datenbanken Treiber Installation Ubuntu Troubleshooting

Schwierigkeitsgrad: advanced

Lesezeit: ca. 5 Minuten