テストケースを実行するために使用swi-prolog
しています。テストが開始されるたびに、接続を開いてMYSQL database
テストハットの名前を保存し、DB を閉じます。これらのテストは、約 2 日間連続して実行されます。テストが完了すると、結果は基本的にサーバーのフォルダーに保存されます。結果を MYSQL データベースに更新するために呼び出される別のプロローグ ファイルに述語があります。コードは単純です。odbc
ライブラリを使用し、述語を呼び出しodbc_*
て接続し、直接クエリを発行して mysql を更新するだけです。
実際の問題は次のとおりです。
- テストが完了したばかりの同じ Prolog ウィンドウから Predicate を呼び出そうとすると、DB サーバーへの更新としてエラーが発生します。接続にエラーはありませんが。そのプロローグのセッションを
halt
閉じて、開いているすべてのプロローグ ウィンドウを閉じると、Prolog の別の完全な新しいインスタンスを開き、述語を実行すると更新がうまくいきます。
Prolog データベースに MySQL DB への接続参照があるような気がします。既存のプロローグ ウィンドウを閉じずに同じ述語を実行できるように、プロローグでデータベースをクリアする方法はありますか?
どんなアイデアでも大歓迎です。
ありがとう。