web-dev-qa-db-fra.com

Comment rechercher une table et une colonne dans DB2 avec tbspaceid tableid spécifié dans le message d'erreur

J'obtiens le message d'erreur suivant lorsque j'essaye d'insérer un objet dans la base de données:

com.ibm.db2.jcc.am.SqlIntegrityConstraintViolationException: 
DB2 SQL Error: SQLCODE=-407, SQLSTATE=23502, SQLERRMC=TBSPACEID=2,
    TABLEID=19, COLNO=0, DRIVER=4.15.134

Comment récupérer le nom de table/colonne pour lequel l'erreur est levée?

12
Mathias G.

Apparemment, au niveau du package, DB2 ne fonctionne qu'avec les ID et non les noms.

Vous pouvez les retrouver à l'aide de la requête suivante:

SELECT C.TABSCHEMA, C.TABNAME, C.COLNAME
FROM SYSCAT.TABLES AS T,
SYSCAT.COLUMNS AS C
WHERE T.TBSPACEID = 2
AND T.TABLEID = 19
AND C.COLNO = 0
AND C.TABSCHEMA = T.TABSCHEMA
AND C.TABNAME = T.TABNAME
30
Mathias G.