長いプロセスのストアド プロシージャを実行しています。
ストアドプロシージャの呼び出しを開始した後、タイムアウトまたはデータベースとの接続が切断された場合に備えて、私は疑問に思っています。それはまだ機能しており、サーバーに変更を実装していますか?
長いプロセスのストアド プロシージャを実行しています。
ストアドプロシージャの呼び出しを開始した後、タイムアウトまたはデータベースとの接続が切断された場合に備えて、私は疑問に思っています。それはまだ機能しており、サーバーに変更を実装していますか?
とにかく、クライアントがジョブの最後にコミットするためにそこにいない場合、サーバーは変更をロールバックする必要があります。
つまり、データベースに変更を加えるストアド プロシージャがあり、接続が途中で切断される可能性がある場合は、すべての変更をトランザクション内に必ず含めてください。
それは私が推測するサーバーに依存します。
Firebird が切断されたクライアントを検出して動作を停止することはわかっています。
とにかく、クライアントがジョブの最後にコミットするためにそこにいない場合、サーバーは変更をロールバックする必要があります。
データベースでプロファイラーを実行してアクティビティを監視し、基本的なテストケースを作成して、何が起こるかを確実に把握することをお勧めします。結果は、データベースとデータベースへの接続に使用しているものによって異なります。