Mein Job wäre einfacher oder zumindest weniger mühsam, wenn ich einen automatischen Weg (vorzugsweise in einem Python-Skript) finden könnte, um nützliche Informationen aus einer FileMaker Pro-Datenbank zu extrahieren. Ich arbeite an einem Linux-Rechner und die FileMaker-Datenbank befindet sich im selben LAN, der auf einem OS X-Rechner läuft. Ich kann mich von meinem Rechner aus in die Webby-Oberfläche einloggen.Die beste Methode zum Extrahieren von Daten aus einer FileMaker Pro-Datenbank in einem Skript?
Ich bin ziemlich praktisch mit SQL, und wenn jemand mich auf ein FileMaker-Plug-in verweisen könnte, das mir SQL-Zugriff auf die Daten innerhalb von FileMaker geben könnte, würde ich mich freuen, wie Punsch. Alles, was ich gefunden habe, geht nur in die andere Richtung: Mit FileMaker Daten aus SQL-Quellen holen. Nicht nützlich.
Es ist nicht meine erste Wahl, aber ich würde Perl anstelle von Python verwenden, wenn eine Perl-y-Lösung zur Hand wäre.
Hinweis: XML/XSLT-Dienste (wie von einigen Leuten vorgeschlagen) sind nur auf FM-Server, nicht FM Pro verfügbar. Sonst wäre das wahrscheinlich die beste Lösung. ODBC erweist sich als extrem schwierig, überhaupt zu arbeiten. Es gibt absolut keine Rückmeldung von FM, wenn Sie es einrichten, also müssen Sie durch /var/log/system.log graben und obskure Fehlermeldungen parsen.
Fazit: Ich habe es funktioniert, indem Sie ein Python-Skript lokal auf der Maschine, die die FM-Datenbank über die ODBC-Verbindungen abfragt. Das Skript ist eigentlich ein TCPServer, der Socket-Verbindungen von anderen Systemen im LAN akzeptiert, die Abfragen ausführt und die Daten über die Socket-Verbindung zurückgibt. Ich musste dies tun, um die Tatsache zu umgehen, dass FM Pro nur ODBC-Verbindungen lokal akzeptiert (FM-Server ist für externe Verbindungen erforderlich).