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