db2根據錯誤進行排除的經驗之談
用db2時經常會報錯,但報錯的提示信息太不友好,沒有任何開發人員可以理解的描述信息。
只是返回SQLCODE,SQLSTATE,SQLERRMC, DRIVER這四個代碼,
SQLCODE sql錯誤碼,一般通過該代碼即可排查問題所在
SQLSTATE 執行sql後的狀態
SQLERRMC 一般沒有用,但如果sqlcode排查不到問題時,可以用該代碼排查
DRIVER driver是連接驅動版本號,是固定的
比如錯誤碼為:SQLCODE=-301,可以用db2命令查看詳細錯誤信息:
進入db2命令行界面,執行命令:
Java代碼
db2 ? sql00301
就可以看到詳細的中文錯誤提示信息,非常好用
www.2cto.com
注: 作為 db2 命令的參數接受的消息標識是不區分大小寫的。並且,單個字母後綴是可選的並且可忽略。
因此,以下命令將產生相同的結果:
? SQL0000N
? sql0000
? SQL0000w
要調用有關基於 UNIX 的系統命令行的消息幫助,請輸入以下命令:
db2 “? XXXnnnnn”
其中 XXX 表示有效的消息前綴,nnnnn 表示有效的消息號。
如果消息正文太長而不能在屏幕上完全顯示,那麼可使用以下命令(在基於 Unix 的操作系統上以及其他支持“more”的系統上):
db2 “? XXXnnnnn” | more
作者 七裡油