我已经提出了一个有趣的问题,一个以Apple为中心的用户会热衷于在Filemaker Pro上运行数据库,而且我们已经有几个在MS SQL上运行。
FM Pro在视觉上令人惊叹,作为与客户合作的前端看起来不错,但我心里还有更多的SQL。
有人同时使用这两种吗? 你能轻松地在SQL和FM Pro之间运行任务来将数据更新到FM Pro(比如说一夜之间)吗? 有没有人出于任何目的从SQL到FM Pro进行更改并发现它没问题?
提前致谢
答案 0 :(得分:1)
FileMaker,从版本9开始,包括连接到许多SQL数据库而无需使用SQL的能力,包括MySQL,SQL Server和Oracle。这需要安装SQL数据库ODBC驱动程序以连接到SQL数据库。 SQL数据库可以用作FileMaker关系图中的数据源,从而允许开发人员基于SQL数据库创建新的布局;通过FileMaker布局和功能创建,编辑和删除SQL记录;并在FileMaker计算和脚本步骤中引用SQL字段。它是一个跨平台的关系数据库应用程序。
FileMaker Pro 5.5以后的版本也有ODBC接口。
FileMaker 12引入了一个新功能ExecuteSQL,它允许用户对FileMaker数据库执行SQL查询以检索数据,但不能用于修改或删除或模式更改。
答案 1 :(得分:1)
要扩展user4166144的答案,可以使用ODBC将MS SQL添加为external data source到FileMaker。 (请参阅“使用FileMaker Pro,我想创建与MS SQL Server,Oracle或MySQL数据源的实时连接。”)
这将使您可以在MS SQL表上建立布局,就像它是本机FileMaker表一样。也就是说,数据将是“实时”的,不需要过夜复制。
ODBC连接存在一些限制,这可能与您的情况无关。大多数情况下,FileMaker中的ODBC数据源无法获得管理数据库中的所有FileMaker好东西。 ODBC源中的表是“影子表”。例如,如果删除FileMaker中的字段(“列”),则不会在SQL数据库中删除该字段。但是,创建,编辑和删除记录都可以正常工作。您甚至可以将ODBC源中的表添加到关系图中,这是从FileMaker中的多个表中获取数据的主要方式。
FileMaker有点难以从SQL背景中走出来。它适用于快速应用程序开发,因此它具有一定的范例。以下是我希望有所帮助的一些事情:
FileMaker中的每个用户界面(“布局”)都基于表格的出现。布局的主体表示该表事件中的单个记录。每个脚本,计算和相关数据都是从该单个表事件中的单个记录的角度计算的。也就是说,布局是一个“光标”。
关于关系图,没有(理智的)FileMaker方法来执行等效的SQL“OR”。
FileMaker 12有两个名称非常相似的功能。它有一个计算函数“ExecuteSQL”,它允许你在FileMaker中的表事件上运行SELECT语句;包括ODBC源。它还有一个名为“Execute SQL”的脚本步骤,可以方便地对ODBC数据源运行任意SQL。后者可能对你非常有用。
以任何优雅的方式将SQL查询的结果放到FileMaker布局上有点困难。通常,您需要将结果写入全局字段,全局变量或常规字段。如果要以一种合适的方式显示SQL查询中的表格数据,则需要生成HTML并将其吐入布局中Web Viewer元素中的数据URL(即,在HTML前面加上“data:text /” HTML“)