是什么激发了这个愿望清单请求?
我们希望将插件的日志和调试消息存储在本地数据库中,以便稍后用于调试目的,并且我们已经看到 JMP 具有内部 SQLite 支持,这意味着不需要安装 ODBC 驱动程序。
目前,在 JMP 16、17 和 18 EA2 中,对 SQLite 的内部支持仅适用于读取 (=SELECT) 操作,并且内部 SQLite 操作的版本已超过 8 年的 3.8.11.1。 这两个限制均未记录在 JMP 文档中,也无法在其他地方找到。
例如,以下命令在 JMP 中打开 SQLite 数据库文件:
obj = New SQL Query(
Connection("SQLite:Database=<PATH>\data.db"),
Custom SQL("SELECT sqlite_version(), sqlite_source_id() FROM table1")
) << Run Foreground();</PATH>
顺便说一句,此命令返回 JMP 16/17/18EA2 内部使用的 SQLite 实现的版本:
| sqlite_版本 | sqlite_源_id |
| 3.8.11.1 | 2015-07-29 20:00:57 cf538e2783e468bbc25e7cb2a9ee64d3e0e80b2f |
但下一个 INSERT 或 UPDATE 命令会导致错误:“已删除对象引用[]”
obj = New SQL Query(
Connection("SQLite:Database=<PATH>\data.db"),
Custom SQL("INSERT INTO table1 (id, name, data) VALUES (1, \!"test\!", sqlite_version());")
) << Run Foreground();</PATH>
您希望看到什么改进?
- 允许 SQLite 实现执行 UPDATE 和 INSERT 语句来存储执行 JMP 插件时收集的数据。
- 更新内部 SQLite 驱动程序,以便可以使用更新版本的驱动程序 - 当前版本是 3.42.0
为什么这个想法很重要?
这个想法允许将用于调试或记录目的的小数据存储到 SQLite 数据库文件中 - 这种格式比使用纯文本、JSON 或 XML 文件更好、更灵活且更可用。
@马丁德梅尔