db2根据错误进行排除的经验之谈
 
用db2时经常会报错,但报错的提示信息太不友好,没有任何开发人员可以理解的描述信息。
只是返回SQLCODE,SQLSTATE,SQLERRMC, DRIVER这四个代码,
SQLCODE  sql错误码,一般通过该代码即可排查问题所在
SQLSTATE  执行sql后的状态
SQLERRMC  一般没有用,但如果sqlcode排查不到问题时,可以用该代码排查
DRIVER  driver是连接驱动版本号,是固定的
比如错误码为:SQLCODE=-301,可以用db2命令查看详细错误信息: 
进入db2命令行界面,执行命令: 
代码  
db2 ?  sql00301  
 
就可以看到详细的中文错误提示信息,非常好用
   www.2cto.com  
注: 作为 db2 命令的参数接受的消息标识是不区分大小写的。并且,单个字母后缀是可选的并且可忽略。
因此,以下命令将产生相同的结果:
? SQL0000N
? sql0000
? SQL0000w
要调用有关基于 UNIX 的命令行的消息帮助,请输入以下命令:
db2 “? XXXnnnnn” 
其中 XXX 表示有效的消息前缀,nnnnn 表示有效的消息号。
如果消息正文太长而不能在屏幕上完全显示,那么可使用以下命令(在基于 Unix 的操作系统上以及其他支持“more”的系统上):
db2 “? XXXnnnnn” | more 
 
 
 
作者 七里油