Meilleur moyen pour extraire des données à partir d'une base de données FileMaker Pro dans un script?

StackOverflow https://stackoverflow.com/questions/28668

Question

Mon travail serait plus facile, ou au moins moins fastidieux si je pouvais trouver un moyen automatisé (de préférence dans un script Python) pour extraire de l'information utile à partir d'une base de données FileMaker Pro.Je suis en train de travailler sur la machine Linux et la base de données FileMaker est sur le même réseau local en cours d'exécution sur un OS X de la machine.Je peux me connecter sur le webby de l'interface à partir de ma machine.

Je suis tout à fait pratique avec SQL, et si quelqu'un pouvait m'indiquer quelques FileMaker plug-in qui pourrait me donner accès SQL pour les données dans FileMaker, je serais heureux comme un roi.Tout ce que j'ai trouvé que va dans l'autre:Ayant FileMaker obtenir des données à partir de sources SQL.Pas utile.

Ce n'est pas mon premier choix, mais je préfère utiliser Perl au lieu de Python si il y avait un Perl-y solution à portée de main.

Note:XML/XSLT services (comme suggéré par certaines personnes) ne sont disponibles que sur FM Serveur, pas FM Pro.Sinon, ce serait probablement la meilleure solution.ODBC est extrêmement difficile même de se mettre au travail.Il n'y a absolument aucun retour de FM lorsque vous configurer de sorte que vous avez à creuser par le biais de /var/log/system.journal et analyser obscur des messages d'erreur.

Conclusion:J'ai eu de travail en exécutant un script python en local sur la machine qui interroge la FM de la base de données à travers les connexions ODBC.Le script est en fait un TCPServer qui accepte les connexions socket à partir d'autres systèmes sur le réseau local, exécute les requêtes et renvoie les données par le biais de la connexion de socket.J'ai dû le faire pour contourner le fait que la FM Pro accepte uniquement les connexions ODBC localement (FM serveur est nécessaire pour les connexions externes).

Était-ce utile?

La solution

Il a été un vraiment longtemps depuis que j'ai rien fait avec FileMaker Pro, mais je sais qu'elle a des capacités pour un ODBC et JDBC) connexion à (cependant, je ne sais pas comment, ou si, qui se traduit par la linux/perl/python du monde).

Cet article montre comment partager/exposer votre de données FileMaker via ODBC & JDBC:
Le partage de FileMaker Pro de données via ODBC ou JDBC

À partir de là, si vous êtes en mesure de créer un pilote ODBC/JDBC connexion vous pouvez lancer une requête de données en tant que de besoin.

Autres conseils

Vous aurez besoin du CD d'installation de FileMaker Pro à obtenir les pilotes. Ce document détails le processus de FMP 9 - il en est de même pour les versions 7.x et 8.x ainsi.Les Versions 6.x et antérieures sont complètement différents et je ne serais pas la peine d'essayer (xDBC de soutien dans les versions précédentes est "minimal" au mieux).

FMP 9 prend en charge syntaxe standard SQL-92 (pour la plupart).Notez que, plutôt que d'interroger des tables directement votre requête à l'aide de la "occurrence de la table" nom qui sert comme un alias de la table de toutes sortes.Si les tableaux de données sont stockées dans plusieurs fichiers, il est possible de créer un seul fichier FMP avec table occurrences/alias pointant vers ces tableaux de données.Il y a un "sans-papiers à la fonctionnalité" où un tel fichier doit avoir une table est définie comme le bien et le tableau "lié" à une autre table sur le graphe de liens (n'importe laquelle) pour ODBC accès à l'emploi.Sinon, vos requêtes retournera toujours pas de résultats.

Le document PDF les détails de toutes les limitations de l'utilisation de la xDBC interface FMP fournit.Les performances des requêtes simples est assez rapide, ymmv.J'ai trouvé la performance des requêtes en spécifiant l'opérateur "LIKE" à moins que stellaire.

L'UFC a aussi un XML/XSLT interface que vous pouvez utiliser pour interroger l'UFC données via une connexion HTTP.Il fournit également une classe PHP pour accéder et utiliser FMP des données dans les applications web.

Si votre penchant est pour Python, vous pouvez être intéressé à vérifier le Wrapper Python pour Filemaker.Il dispose de deux accès à la Filemaker données via Filemaker intégré de services XML.Vous pouvez trouver quelques très complet d'informations sur cette question à:

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

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top