ODBC Verbindung für FileMaker Server unter Ubuntu Linux einrichten

In einem früheren Beitrag habe ich beschrieben, wie man FileMaker Server unter Ubuntu Linux installiert.

Der Server läuft unter Linux einwandfrei. Was mich bisher davon abhielt, von meinem Windows FileMaker Server zu Linux zu wechseln war, dass ich unter Ubuntu die ODBC Verbindung zu MySQL nicht zum Laufen bekam.

Es gibt im Internet zig Anleitungen für verschiedenste Versionen und Varianten, aber nichts schien zu funktionieren.

Heute habe ich mich nochmals “durchgekämpft” und eine einwandfreie Konfiguration gefunden, die eigentlich auch kinderleicht zu installieren und einzurichten ist.

Beginnen wir mit dem Download der ODBC Treiber für MySQL für Ubuntu Linux 18.04 von https://dev.mysql.com/downloads/connector/odbc/.

Das Problem in meinen früheren Versuchen war wohl, dass ich das DEB Paket für Ubuntu Linux verwendete (weil eigentlich naheliegend) und das nur zu kryptischen Fehlermeldungen führte.

Der Schlüssel des Erfolgs liegt darin, die “Linux – Generic” TAR GZ Archive runterzuladen und manuell zu installieren.

Ganz konkret habe ich das Archiv mysql-connector-odbc-8.0.27-linux-glibc2.12-x86-64bit.tar.gz heruntergeladen und installiert.

Ein Einloggen ist nicht notwendig, einfach unten auf “No thanks, just take me to the download

Dann am besten den Downloadlink kopieren und den Download direkt am Linuxserver mit wget starten:

wget https://dev.mysql.com/get/Downloads/Connector-ODBC/8.0/mysql-connector-odbc-8.0.27-linux-glibc2.12-x86-64bit.tar.gz

Nun wird das Archiv extrahiert:

tar -xvf mysql-connector-odbc-8.0.27-linux-glibc2.12-x86-64bit.tar.gz

Im Anschluss muss das bin und lib Verzeichnis nach /usr/local verschoben werden:

mv mysql-connector-odbc-8.0.27-linux-glibc2.12-x86-64bit/bin/* /usr/local/bin/
mv mysql-connector-odbc-8.0.27-linux-glibc2.12-x86-64bit/lib/* /usr/local/lib/

Nun werden die OBDC Pakete für Linux installiert:

apt-get install libodbc1
apt-get install odbcinst1debian2

und mit folgendem Befehl werden die Treiber konfiguriert:

myodbc-installer -a -d -n "MySQL ODBC 8.0 Driver" -t "Driver=/usr/local/lib/libmyodbc8w.so"
myodbc-installer -a -d -n "MySQL ODBC 8.0" -t "Driver=/usr/local/lib/libmyodbc8a.so"

Ein Treiber ist für UNICODE Verbindungen und einer für ANSI Zeichensätze.

Mit dem Befehl myodbc-installer -d -l kann man verifzieren, dass die Treiber installiert sind.

In einem Texteditor wird nun die Datei /etc/odbc.ini editiert und die ODBC Verbindung eingetragen, ich verwende dazu nano

nano /etc/odbc.ini

Der Inhalt lautet:

[schubec_com]
Driver = MySQL ODBC 8.0 Driver
Server = www.schubec.com
Port = 3306
Desription = ODBC Datenverbindung zur schubec Homepage
Database = schubec_com
useSSL = Yes
sslca = /etc/odbcssl/schubec_com/ca.pem
sslkey = /etc/odbcssl/schubec_com/client-key.pem
sslcert = /etc/odbcssl/schubec_com/client-cert.pem

Wie Sie hier sehen, verwende ich eine SSL Verschlüsselung zu meiner mySQL Datenbank. (Alles andere wäre auch fahrlässig.)

Falls Sie zu Testzwecken auf SSL verzichten wollen, dann lassen Sie die letzten 4 Zeilen weg. (Getestet habe ich das aber nicht).

Damit das funktioniert, müssen die entsprechenden SSL Zertifikatsdateien natürlich unter /etc/odbcssl/schubec_com/ hinterlegt sein.

(Das sind übrigens die exakt gleichen Parameter, die ich auch bei meinem Windows Server verwende)

Mit dem Tool isql kann man einen ersten Test wagen. Dazu muss aber unixodbc installiert werden.

apt install unixodbc

Nun kann eine Verbindung zu mySQL aufgebaut werden:

isql schubec_com schubec_com XXXXXXXXXX

Dabei ist das erste “schubec_com” der mySQL Datenbankname, das zweite “schubec_com” ist der Datenbankbenutzer und das “XXXX” das Passwort.

+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| quit                                  |
|                                       |
+---------------------------------------+
SQL> SELECT datum FROM schubec_terminbuchung LIMIT 5;
+-----------+
| datum     |
+-----------+
| 2021-03-03|
| 2021-03-04|
| 2021-03-05|
| 2021-03-06|
| 2021-03-07|
+-----------+
SQLRowCount returns 5
5 rows fetched
SQL> quit

Mit dem SQL Statement SELECT datum FROM schubec_terminbuchung LIMIT 5; lese ich ein paar Testdatensätze aus. Es erscheinen Datensätze ==> es klappt!

In einer FileMaker Datenbank, die von diesem FileMaker Server unter Linux gehostet wird, wird dann die ODBC Verbindung eingerichtet:

Und fertig. Auch im FileMaker erscheinen die Datensätze.

Hier ein wunderschöner Screenshot vom Hauptmenü meiner Webseite 🙂

Am Ende vom Tag ist die ganze Sache mit der korrekten Konfiguration wirklich einfach. Bis ich allerdings dort ankam, war es ein steiniger Weg. Ich hoffe, diese kurze Anleitung hilft Ihnen, wertvolle Lebenszeit zu sparen 🙂

, , ,

Kommentieren und Diskutieren

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Related posts

Latest posts