【问题标题】:Filemaker Pro Advanced - Scripting import from ODBC with variable target tableFilemaker Pro Advanced - 使用可变目标表从 ODBC 脚本导入
【发布时间】:2013-11-11 00:07:03
【问题描述】:

我使用导入脚本步骤从 ODBC 导入了几个表。目前,我为每个表都有一个导入脚本。因为我现在有近 200 个不同的表,所以这变得很笨重。

我知道我可以计算 SQL 语句以说出类似“Select * from” & $TableName 之类的内容。但是,如果不在脚本中指定它,我无法弄清楚如何设置目标表。请告诉我,我很密集,有一个好方法可以做到这一点!

提前感谢您的帮助, 妮可威尔森 综合研究

【问题讨论】:

    标签: import odbc filemaker


    【解决方案1】:

    不幸的是,如果您使用 Import Records 脚本步骤,则必须在 FileMaker 12 以上版本中对导入的目标表进行硬编码。我可以想到一个解决方法,但它相当复杂,如果您要导入大量记录,可能会显着增加导入它们的时间。

    解决方法是不使用Import Records 脚本步骤,而是自己编写记录创建和数据填充到字段中的脚本。

    首先,这是否成功取决于您使用 ODBC 的方式。据我所知,只有当您使用 ODBC 在 FileMaker 中创建影子表以便 FileMaker 可以通过其他脚本步骤访问 ODBC 数据库时,它才会起作用。我不是 FileMaker 其他 ODBC 工具的专家,所以我不知道这种解决方法在其他情况下是否有用。

    因此,如果您在远程 ODBC 数据库中有一个影子表,那么您可以使用类似以下的脚本。基本思想是有两组布局,一组用于信息来自的影子表,另一组用于信息需要转到的 FileMaker 表。遍历此列表,将影子表中的信息提取到变量中(或类似于我编写的字典库,您可以在 https://github.com/chivalry/filemaker-dictionary 找到)。然后转到链接到目标表的布局,创建记录并填充字段。

    但是,这不是一种新手技术。除了使用变量和循环之外,您还必须使用 FileMaker 的设计函数来确定每个字段的源和目标,并使用Set Field By Name 将数据放在正确的位置。但据我所知,这是动态定位表以导入数据的唯一方法。

    【讨论】:

    • 这听起来会产生大量开销。我的一些表每隔几个小时就有超过 100,000 行要导入。事实上,导入需要几分钟才能完成每个表。
    • 我想到了另一种解决方案,一个 SQL 插件。查看mbsplugins.eu/FMExecuteSQL.shtml。它支持在 SQL 中使用INSERT 命令。我用谷歌搜索“FileMaker SQL 插件”来找到它。执行相同的搜索会出现其他几个,但这个特别说它支持INSERT 命令。
    • 太棒了!我会检查一下,如果成功了再报告。感谢您的帮助。
    猜你喜欢
    • 2023-03-05
    • 2011-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-09
    • 2012-07-08
    相关资源
    最近更新 更多