-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