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