首页 / DB2 / 如何分析DB2的错误信息
如何分析DB2的错误信息
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了如何分析DB2的错误信息,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2051字,纯文字阅读大概需要3分钟。
内容图文
SQLCODE: -407, SQLSTATE: 23502:这个报错的准确描述是这样的,不能把NULL值插入到定义为NOT NULL的列中。也就是违反了完整性约束异常。
在开发中,这个报错,我们会经常遇到。问题也很简单,就是“不能为空的列,空了”。对于一个字段个数很多的表来说,排查起来有难度。如何精准
定位呢?其实也很简单。
我们可以从报错信息中了解更多详情,这些详情可以帮助我们精准定位问题所在。通常的报错信息如下:
com.ibm.db2.jcc.b.SqlException: DB2 SQL error: SQLCODE: -407, SQLSTATE: 23502, SQLERRMC: TBSPACEID=2, TABLEID=201, COLNO=3
at com.ibm.db2.jcc.b.sf.d(sf.java:1396)
at com.ibm.db2.jcc.c.jb.l(jb.java:356)
at com.ibm.db2.jcc.c.jb.a(jb.java:64)
at com.ibm.db2.jcc.c.w.a(w.java:48)
at com.ibm.db2.jcc.c.dc.c(dc.java:312)
at com.ibm.db2.jcc.b.tf.cb(tf.java:1723)
at com.ibm.db2.jcc.b.tf.d(tf.java:2315)
at com.ibm.db2.jcc.b.tf.Z(tf.java:1326)
at com.ibm.db2.jcc.b.tf.execute(tf.java:1310)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
Message: 完整性约束异常(
--- The error occurred in D:\-------路径省略-------.
--- The error occurred while applying a parameter map.
--- Check the aaa.sql-InlineParameterMap.
--- Check the statement (update failed).
--- Cause: com.ibm.db2.jcc.b.SqlException: DB2 SQL error: SQLCODE: -407, SQLSTATE: 23502, SQLERRMC: TBSPACEID=2, TABLEID=201, COLNO=3)
首先确定数字方面的错误原因。
分析DB2报出的错误信息,主要从六个方面进行分析:
SQLCODE, SQLSTATE, SQLERRMC, TBSPACEID, TABLEID, COLNO
-
1、先从SQLCODE和SQLSTATE两方面的数字确认是什么原因(见网址:http://www.knowsky.com/538581.html)
-
2、在根据TBSPACEID和TABLEID两方面确认是哪个表
SQL语句:select * from syscat.tables where tbspaceid="" and tableid=""
-
3、根据COLNO确认是哪个列出问题
SELECT * FROM SYSCAT.COLUMNS WHERE TABNAME= '*******' AND COLNO = “”
三步就可以精确确认错误的原因了
原理分析:在DB2 数据库中隐藏着一个内部表,专存储数据库的各个表。可以通过select * from syscat.tables进行查看。TBSPACEID, TABLEID, COLNO 都是表tables 中的字段。
内容总结
以上是互联网集市为您收集整理的如何分析DB2的错误信息全部内容,希望文章能够帮你解决如何分析DB2的错误信息所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。