问题描述
我注意到在通过 JDBC 更新 FileMaker 解决方案中的数据时要避免的两件事:
- 在插入/更新数据时运行字段计算,其中一些会大大减慢更新过程
- 上次修改的字段已更改(但创建的字段未更改,即使在 INSERT 上也是如此)
所以我正在寻找一种方法来通过 JDBC 更新/插入而不触发脚本触发器或“更改日期/由”自动计算。 (因为我正在合并来自另一个数据库的数据并希望更改字段代表实际的最后更改,而不是副本)。
对于案例#2,我尝试了在编辑时更改字段的内置复选框,以及使用 Let ( trigger = GetField ( "" ) ; If ( $$SilentSync > 0 ; Self ; Get ( CurrentDate ) ) )
计算的字段解决方案,如已回答,例如在我的 related question 中关于在解决方案本身中工作时避免自动计算。遗憾的是,在使用 JDBC 时,两者都会被触发(全局变量解决方案并没有避免它)。
有没有办法说“当我通过 JDBC 更改此字段时不更新它”?是全局的还是改进的字段计算?我搜索了官方的 JDBC 指南和谷歌,但一无所获。
例如,如果使用计算字段,我可以以某种方式确定数据不是通过 FM 解决方案更改的,而是通过 JDBC 更改的。
解决方法
对于将来发现此问题的任何人:
解决方案实际上相当简单,修改我发布的代码片段以检查帐户名称而不是全局变量。因为我已经为 JDBC 访问设置了一个特殊用户,所以效果很好。