我看过其他关于使用 PHP 和 ADO 访问 ODBC 数据库的帖子,但我认为我的问题没有在 PHP 之外提出。我最近接手了一个项目,其中一个触摸屏界面运行 Windows XP,并使用一些与 Java 极为相似的专有欧洲编程语言与 PLC 和机器进行交互。
我们定期记录来自各种传感器的信息,然后使用该程序打开与 ODBC 数据库的连接并存储记录。我的任务是追踪一个错误,其中数据只是无缘无故地一次停止记录数天,我确信它与 ODBC 数据库(可修复)或 Windows 和 Windows 之间的版本不兼容有关PLC(不可修复)。所以我先拍摄可修复的。
该程序创建一个新的 ActiveXObject 并使用 ADO 打开与数据库的连接,将命令串在一起,执行它,然后关闭连接。每次创建记录时都会执行所有这些操作,我试图找出原始程序员这样做的原因,而不是创建 adodb.Connection,打开它,然后为每个数据记录进行事务处理写,只有当用户相当程序时才关闭它。
我唯一能想到的是,他们担心如果触摸屏在连接打开时断电会发生什么。那会做什么?没有人真正了解我们正在使用的这种几乎是 Java 的语言,所以我不能确定当程序关闭时 ActiveXObjects 会发生什么。像这样的事情会导致这些长达几天的录音失误,还是我完全找错了树?