-30000 EXECUTION FAILED DUE TO A DISTRIBUTION PROTOCOL ERROR THAT WILL NOT AFFECT THE SUCCESSFUL EXECUTION OF SUBSEQUENT COMMANDS OR SQL STATEMENTS: REASON reason-code (sub-code)
説明
現行の SQL ステートメントの正常な実行を妨げる DRDA プロトコル・エラーが発生しました。 このエラーは、その後の SQL ステートメントの正常な実行を妨げるものではありません。
システムの処置
このステートメントを処理することはできません。 SQLCA はフォーマット設定されました。追加の診断情報を含む可能性のあるメッセージ DSNL031I または DSNL032I が、 MVS™ コンソールに出されている場合があります。
プログラマーの応答
DBA に連絡し、この SQLCODE が出される原因となった SQL ステートメントの分析を要求してください。
問題判別
「reason-code」は、SQL ステートメントの実行の試みに対する応答として リモート・サーバーから受け取った DDM 応答メッセージを表す DDM コード・ポイントを識別しています。 これらは、 リモート・サーバーで検出された内部エラー、またはおそらくローカル Db2® 機能によって 検出された内部エラーを表します。
「reason-code」値は、このエラーを表す DDM 応答メッセージの 2 バイトの 16 進コード・ポイントで、
次のいずれかです。
- X'1254' - CMDCHKRM
- X'220A' - DSCINVRM
- X'220E' - DTAMCHRM
- X'1245' - PRCCNVRM
- X'2202' - QRYNOPRM
- X'220F' - QRYPOPRM
- X'2207' - RDBACCRM
- X'2204' - RDBNACRM
- X'124C' - SYNTAXRM
「reason-codes」の X'220A' (DSCINVRM)、X'1245' (PRCCNVRM)、および X'124C' (SYNTAXRM) には、2 バイトの「sub-code」が伴います。それ以外の場合、「sub-code」はゼロです。
「sub-code」は、ゼロでないときは 2 バイトからなり、
その高位バイトはエラーが検出された場所を示します。 エラーがローカル Db2 によって検出された場合は X'01' で、
エラーがリモート・サーバーによって検出された場合は X'02' です。
下位バイトは、次のように、「reason-code」によって異なります。
- 'reason-code' = X'220A' (DSCINVRM) の場合は、記述エラー・コード (DSCERRCD) です。
- 'reason-code' = X'124C' (SYNTAXRM) の場合は、構文エラー・コード (SYNERRCD) です。
- 'reason-code' = X'1245' (PRCCNVRM) の場合は、会話型プロトコル・エラー・コード (PRCCVNCD) です。
DDM 用語の DSCERRCD、SYNERRCD、および PRCCNVCD のセマンティクスの詳細については、「Open Group Technical Standard, DRDA Version 3 Vol. 3: Distributed Data Management Architecture」を参照してください。
SQLSTATE
58008