mysql - Filemaker 中加载数据本地 infile 问题

标签 mysql amazon-rds filemaker

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

将数据本地 INFILE '/Applications/FileMaker Pro 14/containers/imports/load1.txt' 加载到表 jdataholder (rowdatetime, @v1, @v2, @v3, @v4, @v5) SET loadno = 1、formatno = 1, jdata = JSON_OBJECT('站点', @v1, '营养素', @v2, 'Dissolved_O2', @v3, '浊度', @v4, '氮', @v5);

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

我收到的错误消息是:

ODBC ERROR: [Actual][MySQL] Load data local infile forbidden

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

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

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

谢谢。

最佳答案

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

关于mysql - Filemaker 中加载数据本地 infile 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40252420/

相关文章:

mysql - 与其他字段随机顺序的行号

mysql - 使用 MySQL Workbench 简单连接到 Amazon RDS MySQL 数据库

amazon-web-services - 在 Cloudformation 上更新堆栈时 AWS key 发生轮换

mysql - 如何更改数据库的 MySQL 日期格式?

php - 用户名或电子邮件已存在

php - mysql查询解析错误

postgresql - ssl 在 psql 中如何工作?

sql - FileMaker - ODBC/JBDC 连接 - SQL 的方言

javascript - 在 WebViewer 中的 FileMaker for D3 中加载 JSON 文件

mysql - 如何更新 MySQL SET 类型的成员?