-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