【发布时间】:2010-03-20 10:41:22
【问题描述】:
我们使用swi-prolog 来运行我们的测试用例。每当测试开始时,我都会打开与MYSQL database 的连接并存储测试帽子的名称,然后关闭数据库。这些测试连续运行大约 2 天。测试完成后,结果基本上存储在服务器的文件夹中。在另一个 prolog 文件中有一个谓词被调用以将结果更新到 MYSQL 数据库。代码很简单,我使用odbc库,只需调用odbc_*谓词通过发出直接查询来连接和更新mysql。
实际问题是:
- 如果我尝试从刚刚完成测试的同一个 Prolog 窗口调用谓词,则会在更新到数据库服务器时收到错误消息。虽然我在连接中没有收到任何错误。如果我使用
halt关闭该 prolog 的会话并关闭所有打开的 prolog windows ,然后打开另一个完整的 Prolog 新实例并运行谓词更新顺利。
我感觉 Prolog 数据库中有一些对 MySQL DB 的连接引用。有什么方法可以清除 prolog 中的数据库,这样我就可以在不关闭任何现有 prolog 窗口的情况下运行相同的谓词?
任何想法表示赞赏。
谢谢。
【问题讨论】:
标签: mysql swi-prolog