質問

長いプロセスストアドプロシージャを実行しています。

タイムアウトが発生した場合、またはストアドプロシージャの呼び出しを開始した後にデータベースとの接続が切断された場合はどうなるのでしょうか。サーバー上でまだ機能し、変更を実装していますか? ­­­­­­­­­­­­&# 173;­­­­­­­­­­­­ ­­­­­­­­­­­­&# 173;­­­­­­­

役に立ちましたか?

解決

  

とにかく、クライアントがジョブの終了時にコミットするためにそこにいない場合、変更はサーバーによってロールバックされる必要があります。

つまり、データベースに変更を加えるストアドプロシージャがあり、接続が途中で切断される可能性がある場合は、トランザクション内のすべての変更を必ず囲んでください。

他のヒント

サーバーによって異なります。
Firebirdは切断されたクライアントを検出し、動作を停止します。
とにかく、クライアントがジョブの終了時にコミットするためにそこにいない場合、変更はサーバーによってロールバックされるべきです。

データベースでプロファイラーを実行してアクティビティを監視することをお勧めします。また、基本的なテストケースを作成して、何が起こるかを確実に把握できるようにします。結果は、データベースとデータベースへの接続に使用しているものに依存します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top