[[it-themen:start|zurück]] # 📄 Dokumentation: FileMaker-ODBC-Anbindung unter macOS (Apple Silicon) via Docker-MySQL ## 🔧 Ziel Verbindung von **FileMaker Pro** mit einer **MySQL-Datenbank**, die per **Docker-Container** lokal betrieben wird – mithilfe von ODBC-Treibern. ## 🧱 Voraussetzungen | Komponente | Version / Info | |------------------|--------------------------------------------| | macOS | Apple Silicon (M1/M2/M3) | | FileMaker Pro | mind. Version 18 | | Docker | installiert & lauffähig | | MySQL | Version 5.7 im Docker-Container | | ODBC-Treiber | MySQL Connector/ODBC 5.3.13 (x86_64) | | Rosetta 2 | installiert und FileMaker damit gestartet | ## 🐳 Docker-Datenbank aufsetzen ```bash docker run -d --name filemaker-mysql -e MYSQL_ROOT_PASSWORD= -e MYSQL_DATABASE=netzwerkdoku -e MYSQL_USER=userName -e MYSQL_PASSWORD= -p 3307:3306 mysql:5.7 ``` ## 🔐 MySQL-Nutzerrechte setzen ```bash docker exec -it filemaker-mysql mysql -u root -p -e " ALTER USER 'userName'@'%' IDENTIFIED WITH mysql_native_password BY ''; GRANT ALL PRIVILEGES ON netzwerkdoku.* TO 'userName'@'%'; FLUSH PRIVILEGES;" ``` ## 📦 MySQL ODBC-Treiber installieren (x86_64) 1. Von Oracle laden: [MySQL Connector/ODBC 5.3.13 macOS (Intel)](https://downloads.mysql.com/archives/c-odbc/) 2. `.dmg` öffnen, `.pkg` installieren 3. Treiber liegt dann unter: `/usr/local/mysql-connector-odbc-5.3.13-macos10.14-x86-64bit/lib/libmyodbc5w.so` ## 🔗 Symlink für Kompatibilität setzen ```bash sudo mkdir -p /Library/ODBC/Drivers sudo ln -s /usr/local/mysql-connector-odbc-5.3.13-macos10.14-x86-64bit/lib/libmyodbc5w.so /Library/ODBC/Drivers/libmyodbc5w.so ``` ## 🧩 ODBC-Konfigurationsdateien ### `/Library/ODBC/odbcinst.ini` ```ini [MySQL ODBC 5.3 Unicode Driver] Description = MySQL ODBC Unicode Driver Driver = /Library/ODBC/Drivers/libmyodbc5w.so ``` ### `/Library/ODBC/odbc.ini` ```ini [ODBC Data Sources] netzwerkdoku_mysql = MySQL ODBC 5.3 Unicode Driver [netzwerkdoku_mysql] Description = FileMaker-Zugriff auf Docker-MySQL Driver = MySQL ODBC 5.3 Unicode Driver Server = 127.0.0.1 Port = 3307 Database = netzwerkdoku ``` ## 🧠 Wichtig: FileMaker mit Rosetta starten 1. Rechtsklick auf `FileMaker.app` → **„Informationen“** 2. ✅ Haken bei **„Mit Rosetta öffnen“** 3. App neu starten ## 🧪 Verbindung testen Ein `isql`-Test ist auf ARM64 meist nicht möglich (fehlende Intel-Version). Die zuverlässigste Methode: Test direkt in **FileMaker**. ## 🧭 In FileMaker: 1. Menü: `Datei > Datensätze importieren > ODBC-Datenquelle…` 2. Wähle: `netzwerkdoku_mysql` 3. Benutzername: `lars` 4. Passwort: `` 5. Tabelle auswählen, z. B. `Switch_Port` 6. Import durchführen ## 🧼 Fehlerquellen & Lösungen | Problem | Lösung | |------------------------------------------------------------|------------------------------------------------------------------------| | `[IM002] Data source name not found` | DSN fehlt im Block `[ODBC Data Sources]` oder falscher Treibername | | `[01000] Can't open lib ...` | Pfad zum Treiber falsch, Treiberarchitektur inkompatibel | | FileMaker: "Kontoname/Passwort ungültig" | Benutzer nicht mit `mysql_native_password` authentifiziert | | DSN erscheint nicht in FileMaker | Nicht als System-DSN eingetragen oder FileMaker nicht neu gestartet | | `isql` nicht verwendbar | `isql` ist ARM64 → inkompatibel mit Intel-Treibern | ## 📂 Wiederverwendbarkeit auf anderen Macs 1. ODBC-Treiber (Intel) installieren 2. Rosetta aktivieren 3. `odbcinst.ini` & `odbc.ini` nach `/Library/ODBC/` kopieren 4. FileMaker mit Rosetta starten