-144 INVALID SECTION NUMBER number
説明
次のいずれかです。
- ユーザーが無効なセクションを実行しようとした。
- Db2® のこのリリースはこの SQL ステートメントをサポートしていない。
- 呼び出しパラメーター・リスト内のセクション番号が、以下のいずれかである。
- 負の値
- 無効な重複番号
- DBRM またはパッケージの最大セクション番号よりも大きな番号
システムの処置
このステートメントを処理することはできません。
プログラマーの応答
最初のケースでは、SQLERROR(CONTINUE) でバインドされたパッケージを実行している場合、
問題のステートメントが有効なセクションとしてバインドされているかどうかを判別してください。
以下のステートメントを使用して、Db2 カタログを照会することができます。
SELECT SQLERROR
FROM SYSIBM.SYSPACKAGE
WHERE COLLID = collection-id AND
NAME = package-id AND
VERSION = version-name;
その照会が 'C' を戻した場合、パッケージは SQLERROR(CONTINUE) でバインドされています。
SELECT STMTNO, TEXT
FROM SYSIBM.SYSPACKSTMT
WHERE COLLID = collection-id AND
NAME = package-id AND
VERSION = version-name AND
SECTNO = number AND
BINDERROR = 「Y」;
その照会が行を戻した場合、そのセクションは無効です。 バインド中に出されたエラー・メッセージを参照して、原因を判別してください。 エラーを訂正し、REPLACE オプションを使って、パッケージを再度バインドしてください。2 番目のケースでは、Db2 システムを前のリリースに戻した場合に、そのリリースでサポートされていないセクション番号ゼロの SQL ステートメントがあるかどうかを確認してください。 以下のステートメントを使用して、Db2 カタログを照会することができます。
DBRM から実行している場合、以下を使用してください。
SELECT *
FROM SYSIBM.SYSSTMT
WHERE SECTNO = 0
ORDER BY NAME, PLNAME, STMTNO, SEQNO;
パッケージから実行している場合、以下を使ってください。
SELECT *
FROM SYSIBM.SYSPACKSTMT
WHERE SECTNO = 0
ORDER BY COLLID, NAME, VERSION, STMTNO, SEQNO;
3 番目のケースでは、 アプリケーションを検査して、呼び出しパラメーター・リストが何らかの方法で 変更されていないかどうかを判別してください。 通常、プリコンパイラーの出力は変更すべきではありません。
SQLSTATE
58003