Frage

Meine Arbeit wäre einfacher oder zumindest weniger mühsam, wenn ich eine automatisierte Möglichkeit finden könnte (vorzugsweise in einem Python-Skript), nützliche Informationen aus einer FileMaker Pro-Datenbank zu extrahieren.Ich arbeite auf einem Linux-Rechner und die FileMaker-Datenbank befindet sich im selben LAN, das auf einem OS X-Rechner ausgeführt wird.Ich kann mich von meinem Computer aus bei der Webby-Schnittstelle anmelden.

Ich bin ziemlich bewandert mit SQL, und wenn mir jemand ein FileMaker-Plug-in nennen könnte, das mir SQL-Zugriff auf die Daten in FileMaker ermöglichen könnte, würde ich mich sehr freuen.Alles, was ich gefunden habe, geht nur in die andere Richtung:FileMaker Daten aus SQL-Quellen abrufen lassen.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.

Notiz:XML/XSLT-Dienste (wie von einigen Leuten vorgeschlagen) sind nur auf FM Server verfügbar, nicht auf FM Pro.Ansonsten wäre das wahrscheinlich die beste Lösung.Es erweist sich als äußerst schwierig, ODBC überhaupt zum Laufen zu bringen.Es gibt absolut keine Rückmeldung von FM, wenn Sie es einrichten, sodass Sie /var/log/system.log durchforsten und obskure Fehlermeldungen analysieren müssen.

Abschluss:Ich habe es zum Laufen gebracht, indem ich lokal auf dem Computer ein Python-Skript ausgeführt habe, das die FM-Datenbank über die ODBC-Verbindungen abfragt.Das Skript ist eigentlich ein TCP-Server, 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 ODBC-Verbindungen nur lokal akzeptiert (für externe Verbindungen ist ein FM-Server erforderlich).

War es hilfreich?

Lösung

Es war ein Wirklich Lange ist es her, dass ich etwas mit FileMaker Pro gemacht habe, aber ich weiß, dass es die Möglichkeit bietet, eine ODBC- (und JDBC-)Verbindung zu ihm herzustellen (ich weiß jedoch nicht, wie oder ob sich das auf die Linux-/ Perl/Python-Welt).

Dieser Artikel zeigt, wie Sie Ihre FileMaker-Daten über ODBC und JDBC freigeben/bereitstellen:
Teilen von FileMaker Pro-Daten über ODBC oder JDBC

Wenn Sie von dort aus eine ODBC/JDBC-Verbindung erstellen können, können Sie bei Bedarf Daten abfragen.

Andere Tipps

Um die Treiber zu erhalten, benötigen Sie die FileMaker Pro-Installations-CD. Dieses Dokument beschreibt detailliert den Prozess für FMP 9 – er ist auch für die Versionen 7.x und 8.x ähnlich.Die Versionen 6.x und früher sind völlig unterschiedlich und ich würde mir nicht die Mühe machen, es zu versuchen (xDBC-Unterstützung in diesen Vorgängerversionen ist bestenfalls „minimal“).

FMP 9 unterstützt (größtenteils) die SQL-92-Standardsyntax.Beachten Sie, dass Sie Tabellen nicht direkt abfragen, sondern den Namen „Tabellenvorkommen“ verwenden, der als eine Art Tabellenalias dient.Wenn die Datentabellen in mehreren Dateien gespeichert sind, ist es möglich, eine einzelne FMP-Datei mit Tabellenvorkommen/Aliasnamen zu erstellen, die auf diese Datentabellen verweisen.Es gibt eine „undokumentierte Funktion“, bei der in einer solchen Datei auch eine Tabelle definiert sein muss und diese Tabelle mit jeder anderen Tabelle im Beziehungsdiagramm „verknüpft“ sein muss (egal welche), damit der ODBC-Zugriff funktioniert.Andernfalls liefern Ihre Abfragen immer keine Ergebnisse.

Das PDF-Dokument beschreibt alle Einschränkungen bei der Verwendung der von FMP bereitgestellten xDBC-Schnittstelle.Die Leistung einfacher Abfragen ist einigermaßen schnell, ymmv.Ich habe festgestellt, dass die Leistung von Abfragen, die den Operator „LIKE“ angeben, nicht gerade hervorragend ist.

FMP verfügt außerdem über eine XML/XSLT-Schnittstelle, mit der Sie FMP-Daten über eine HTTP-Verbindung abfragen können.Es bietet außerdem eine PHP-Klasse für den Zugriff auf und die Verwendung von FMP-Daten in Webanwendungen.

Wenn Sie sich für Python interessieren, könnte es für Sie interessant sein, den Python Wrapper für Filemaker auszuprobieren.Es bietet bidirektionalen Zugriff auf die Filemaker-Daten über die integrierten XML-Dienste von Filemaker.Ausführliche Informationen hierzu finden Sie unter:

http://code.google.com/p/pyfilemaker/

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top