DB2-常见ERRORCODE
对于常见的错误码,熟悉之后就可以快速定位问题,代码检查。
1、sqlcode -407
不能把NULL值插入到定义为NOT NULL的列
DB2 SQL Error: SQLCODE=-407, SQLSTATE=23502, SQLERRMC=TBSPACEID=2,
TABLEID=19, COLNO=5, DRIVER=4.15.134
可以执行SQL,就可以快速定位哪个列出了问题。
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 = 5 AND C.TABSCHEMA = T.TABSCHEMA AND C.TABNAME = T.TABNAME
2、其他常见错误码
sqlcode | 说明 |
---|---|
-104 | SQL中有非法字符,多半是标点符号问题 |
-205 | 指定表的列名无效 |
-206 | 查询的列不在FROM后的表里,即列和表里的列不对应 |
-208 | 不能order by 指定的列,列不在select列表中 |
-302 22003 | 输入变量值对列来说 |
-412 | 子查询的select列表遇到多个列 |
-415 | 使用UNION操作,指定的列类型不兼容 |
-918 | 连接丢失,SQL不能执行 |
3、DB2错误码大全
可以下载DB2 SQLCODE.pdf查看更多错误码说明。