DB2 SQL Error: SQLCODE=-407 SQLSTATE=23502


はじめに

この記事では、DB2でSQLCODE=-407が発生した時の調査方法を紹介します。

背景

SQLを実行した際に、SQLCODE=-407のエラーメッセージDB2 SQL
何が原因でエラーになっているのかエラーメッセージから特定できない。
そのため、エラーメッセージの方法を元に調査方法とエラー原因を特定する

調査方法

  1. エラーメッセージの TBSPACEID, TABLEID, COLNO,を確認する
    例:TBSPACEID = 3,TABLEID = 29, COLNO = 0
  2. 以下のSQLを実行する
SELECT C.TABSCHEMA, C.TABNAME, C.COLNAME
FROM SYSCAT.TABLES AS T,
SYSCAT.COLUMNS AS C
WHERE T.TBSPACEID = 3
AND T.TABLEID = 29
AND C.COLNO = 0
AND C.TABSCHEMA = T.TABSCHEMA
AND C.TABNAME = T.TABNAME

以下のようにスキーマ、テーブル名、列名が特定できます。