在Filemaker

时间:2016-10-26 01:47:10

标签: mysql amazon-rds filemaker

我有一个脚本可以将文本文件加载到Amazon RDS mysql数据库中。它需要处理文本文件中的可变数量的列并将它们存储为JSON。这是一个包含5列的示例,它们存储为JSON:

LOAD DATA LOCAL INFILE '/Applications/FileMaker Pro 14/containers/imports/load1.txt' INTO TABLE jdataholder (rowdatetime, @v1, @v2, @v3, @v4, @v5) SET loadno = 1, formatno = 1, jdata = JSON_OBJECT('Site', @v1, 'Nutrients', @v2, 'Dissolved_O2', @v3, 'Turbitidy', @v4, 'Nitrogen', @v5);

local_infile在服务器上为“ON”。该查询适用于Sequel Pro。当我尝试在Filemaker Pro 14中运行它(在OS X 10.12上运行)执行SQL脚本步骤它不起作用。我知道与服务器的连接正常,因为我可以运行其他不使用LOAD DATA LOCAL INFILE语句的查询。

我得到的错误信息是:

  

ODBC ERROR:[Actual] [MySQL]加载数据本地infile禁止

从SO和其他地方的其他答案来看,客户端似乎也需要启用local_infile。这可以解释为什么它适用于一个客户端而不是另一个客户端。我试过这样做,但我看到的说明都使用了终端。我不认为Filemaker有这样的东西 - 您只需将SQL输入查询编辑器并将其发送到远程数据库即可。我不确定您是否可以更改客户端的配置。

有谁知道如何在Filemaker上启用此功能?或者,我还能做些什么来使这项工作?

如果我从存储过程运行加载数据本地infile查询,我可以避免这种情况吗?这是我最初的计划,但文档说负载数据infile步骤必须调用文字字符串,而不是变量,所以我想不出办法处理可变数量的列。

感谢。

1 个答案:

答案 0 :(得分:0)

FileMaker ExecuteSQL可能不支持此功能。我建议使用能够运行终端命令的插件,然后使用该插件通过FileMaker在终端中执行操作。有一个免费的插件,有一个功能,它被称为BaseElements。以下是此特定功能文档的链接。

https://baseelementsplugin.zendesk.com/hc/en-us/articles/205350547-BE-ExecuteShellCommand

如果您尝试将数据插入MySQL表,更好的方法是使用FileMaker ESS(外部SQL源),它允许您使用FileMaker中的MySQL,Oracle和其他受支持的数据库。这包括能够将数据导入ESS(MySQL表。您可以在下面的ESS上看到pdf文档:

https://www.filemaker.com/downloads/documentation/techbrief_intro_ess.pdf

相关问题