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