-911   THE CURRENT UNIT OF WORK HAS BEEN ROLLED BACK DUE TO DEADLOCK OR TIMEOUT. REASON reason-code, TYPE OF RESOURCE resource-type, AND RESOURCE NAME resource-name

説明

現在の作業単位はデッドロック状態に陥っていたか、あるいはタイムアウト状態になっていたために、 ロールバックする必要がありました。

reason-code
失敗の理由を示す Db2®理由コード値。理由コードの説明については、Db2 理由コードを参照してください。
resource-type および resource-name
メッセージで識別されているリソースのタイプおよび名前。 resource-type 値および resource-name 値の説明については、リソース・タイプを参照してください。
重要: この作業単位に関連して行った変更を再入力する必要があります。
SQLERRD(3) もデッドロックまたはタイムアウトが発生したかどうかを示す理由コードを含みます。 最も一般的な理由コードは次のとおりです。
  • 00C90088 - デッドロック
  • 00C9008E - タイムアウト
この作業単位に関連して行った変更を再入力する必要があります。

システムの処置

このステートメントを処理することはできません。 アプリケーションは前の COMMIT の時点までロールバックされます。

プログラマーの応答

長時間実行のアプリケーション、またはデッドロック状態になりやすいアプリケーションは、 (可能であれば) 頻繁に COMMIT コマンドを出すべきです。 これによって、デッドロックが発生する可能性を小さくすることができます。 将来のデッドロックまたはタイムアウトを回避するための他の方法については、 メッセージ DSNT376I を参照してください。 SQLCODE-911 を受け取った場合、通常、アプリケーションは終了しなければなりません。

SQLSTATE

40001