2013-11-04 49 views
0

我见过有关使用PHP和ADO访问ODBC数据库的其他文章,但我不认为我的问题已被问到PHP之外。我最近接管了一个项目,其中一个触摸屏界面运行Windows XP,并使用一些与Java非常相似的专有欧洲编程语言来与PLC和机器接口。如果不关闭ODBC连接会发生什么?

我们定期记录来自各种传感器的信息,然后使用该程序打开到ODBC数据库的连接并存储记录。我的任务是跟踪一个错误,在这个错误中,数据只是一次停止记录几天,没有任何明显的原因,我相信它与ODBC数据库(可修复)或Windows和Windows之间的版本不兼容有关PLC(不可修复)。所以我先拍摄了可修复的照片。

程序创建一个新的ActiveXObject并使用ADO打开到数据库的连接,将命令串在一起,执行它,然后关闭连接。它每次创建记录都会执行所有这些操作,并且我试图找出原始程序员是否有这样做的原因,而不是创建adodb.Connection,打开它,然后为每个数据记录创建一个事务只有当用户非常喜欢这个程序时才能写和关闭它。

我能想到的唯一的事情是,他们担心如果触摸屏在断开连接时断电会发生什么情况。那会做什么?没有人真正了解我们正在使用的这种几乎是Java语言的任何内容,所以我无法确定程序关闭时ActiveXObjects会发生什么情况。像这样的事情会导致这些为期几天的录制失误,还是我完全吠叫错了树?

回答

1

每次需要时打开和关闭连接通常会被认为是更安全和网络最紧张的方法。唯一一次效率低下的情况是,在数据库中进行多次呼叫时,两者之间没有太多时间间隔。

有时不建议打开数据库连接。在使用基于文件的数据库(如Visual Foxpro或MS Access)的情况下,数据库文件实际上可能会因被删除的网络连接而损坏,尽管我通常认为发生这种情况时连接在写入期间需要丢弃某种类型的。

您是否有任何错误控制或调试选项?每次尝试访问数据库时,您能否写入文本文件?

我真的不认为这里使用的语言过于重要,因为您使用的是ADO,ODBC,而且我假设某种标准数据库格式。失败的原因可能在于这些技术之一,除非在代码中某处出现错误,导致数据记录例程无法启动。

相关问题