最近一直在做从DB2数据库中抽取出数据写入Oracle数据库,或者Oracle只是作为辅助数据库,DB2保存最终的操作结果(这也是工作的需要)。因为DB2数据库都是人家那边设计好的,我们只需要去调用就可以了,就经常会遇到一些DB2 sqlcode。
以下是自己最常遇到的,列表也会更新(网上基本上有一个完整的列表,不过我只写出自己工作中遇到的)
sqlcode sqlstate 说明
1. -204 42704 没有定义的对象名(没有创建表或者试图等)
2. +551 01548 命名的授权 ID 缺少在命名的 DB2 对象上执行命名操作的权限(没有select,update权限)
3. -104 42601 SQL 语句中遇到非法符号
4. -440 42884 存储过程或用户自定义函数的参数列表参数个数于预期的个数不匹配
5. -911 40001 当前工作单元已被回滚
前面三个是自己遇到最多的sqlcode,抛出异常。