如果我能够以自动方式(最好是在Python脚本中)从FileMaker Pro数据库中提取有用信息,我的工作会更容易,或者至少不那么繁琐。我正在使用Linux机器,FileMaker数据库位于OS X机器上运行的同一LAN上。我可以从我的机器登录webby界面。
我对SQL非常方便,如果有人能指出一些FileMaker插件可以让我对FileMaker中的数据进行SQL访问,我会很高兴。我发现的一切只有另一种方式:让FileMaker从SQL源获取数据。没用。
这不是我的第一选择,但如果手头有Perl-y解决方案,我会使用Perl而不是Python。
注意:XML / XSLT服务(如某些人所建议的)仅适用于FM Server,而不适用于FM Pro。否则,这可能是最好的解决方案。 ODBC变得非常难以开始工作。设置时,FM绝对没有反馈,因此你必须深入研究/var/log/system.log并解析模糊的错误信息。
结论:我通过在通过ODBC连接查询FM数据库的机器上本地运行python脚本来实现它。该脚本实际上是一个TCPServer,它接受来自LAN上其他系统的套接字连接,运行查询,并通过套接字连接返回数据。我必须这样做才能绕过FM Pro仅在本地接受ODBC连接的事实(外部连接需要FM服务器)。
答案 0 :(得分:5)
自从我对FileMaker Pro做了任何事以来,它已经很长时间了,但是我知道它确实具有与它(但是,我)进行ODBC(和JDBC)连接的功能。不知道如何或者是否转换为linux / perl / python世界。
本文介绍如何通过ODBC& amp;分享/公开您的FileMaker数据。 JDBC:
Sharing FileMaker Pro data via ODBC or JDBC
从那里,如果您能够创建ODBC / JDBC连接,您可以根据需要查询数据。
答案 1 :(得分:3)
您需要FileMaker Pro安装CD才能获取驱动程序。 This document详细介绍了FMP 9的过程 - 对于版本7.x和8.x也是类似的。版本6.x和更早版本是完全不同的,我不打扰尝试(在以前版本中的xDBC支持最多是“最小”)。
FMP 9支持SQL-92标准语法(主要是)。请注意,不是直接查询表,而是使用“表格出现”名称进行查询,该名称用作排序的表别名。如果数据表存储在多个文件中,则可以创建单个FMP文件,其中表出现/别名指向这些数据表。有一个“未记录的功能”,其中这样的文件也必须在其中定义一个表,并且该表与关系图上的任何其他表“相关”(无关紧要),以便ODBC访问工作。否则,您的查询将始终不返回任何结果。
PDF文档详细介绍了使用FMP提供的xDBC接口的所有限制。简单查询的性能相当快,ymmv。我发现查询的性能指定“LIKE”运算符小于恒星。
FMP还有一个XML / XSLT接口,可用于通过HTTP连接查询FMP数据。它还提供了一个PHP类,用于在Web应用程序中访问和使用FMP数据。
答案 2 :(得分:2)
如果您倾向于Python,您可能有兴趣查看Python Wrapper for Filemaker。它通过Filemaker的内置XML服务提供对Filemaker数据的双向访问。您可以在以下网址找到一些相关详尽的信息: