DB2报错信息汇总

近期项目中需要通过代码调用DB2存储过程,报 [42884] [IBM][DB2/NT64] SQL0440N错误,搜索了很多解决方案都是无效的,后来查看SQLState说明,才找到报错的真正原因。
现把完整的SQLCODE和SQLState错误信息和相关解释作以下说明,以供参考,对DB2错误自行找出原因 。

sqlcode sqlstate 说明
000 00000 SQL语句成功完成
01xxx SQL语句成功完成,但是有警告
+012 01545 未限定的列名被解释为一个有相互关系的引用
+098 01568 动态SQL语句用分号结束
+100 02000 没有找到满足SQL语句的行
+110 01561 用DATA CAPTURE定义的表的更新操作不能发送到原来的子系统
+111 01590 为2型索引设置了SUBPAGES语句
+117 01525 要插入的值的个数不等于被插入表的列数
+162 01514 指定的表空间被置为检查挂起状态
+203 01552 使用非唯一的名字来解决命名的限定列
+204 01532 命名的对象未在DB2中定义
+206 01533 命名的列不在SQL语句中指定的任何表中存在
+218 01537 因为SQL语句引用一个远程对象,不能为该SQL语句执行EXPLAIN
+219 01532 命名的PLAN TABLE不存在
+220 01546 不正确定义PLAN TABLE,检查命名列的定义
+236 01005 SQLDA中的SQLN的值至少应于所描述的列的个数一样大
+237 01594 至少有一个被描述的列应该是单值类型,因此扩展的SQLVAR条目需要另外的空间
+238 01005 至少应有一个被描述的列是一个LOB,因此扩展的SQLVAR条目需要另外的空间
+239 01005 至少应有一个被描述的列应是单值类型,因此扩展的SQLVAR条目需要另外的空间
+304 01515 该值不能被分配给宿主变量,因为该值不再数据类型的范围之内
+331 01520 不能被翻译的字符串,因此被设置为NULL
+339 01569 由于与DB2 2.2版本的子系统连接,所以可能存在字符转换问题
+394 01629 使用优化提示来选择访问路径
+395 01628 设置了无效的优化提示,原因代码指定了为什么,忽略优化提示
+402 01521 未知的位置
+403 01522 本地不存在CREAT ALIAS对象
+434 01608 在DB2未来发布的版本中将不支持指定的特性,IBM建议你停止使用这些特性
+445 01004 值被CAST函数截取
+462 01Hxx 由用户定义的函数或存储过程发出的警告
+464 01609 命名的存储过程超出了它可能返回的查询结果集的个数限制
+466 01610 指定由命名的存储过程返回的查询结果集的个数。成功完成
+494 01614 由存储过程返回的结果集的个数超过了由ASSOCIATE LOCATORS语句指定的结果集定位器的个数
+495 01616 因为倒台SQL的成本估算超出了在ELST中指定的警告阀值,所以发出警告
+535 01591 请求一个主健的定位更新,或请求一个使用自我引出约束的表的删除操作
+541 01543 命名外健是一个重复的引用约束
+551 01548 命名的授权ID缺少在命名的DB2对象上执行命名操作的权限
+552 01542 命名的授权ID缺少执行命名操作的权限
+558 01516 已经被授权该PUBLIC,因此WITH GRANT OPTION不可用
+561 01523 对ALTER REFERENCES INDEX 和TRIGGER特权,PUBLIC AT ALL LOCATION无效
+562 01560 因为GRANTEE已经拥有这些特权,所以一个或更多的特权被忽略
+585 01625 模式名指定了不止一次
+599 01596 没有为长字符数据类型(BLOB,CLOB和DBCLOB)建立比较函数
+610 01566 由于建立了一个指定为DEFER YES的索引,指定的对象处于PENDING状态,或者因为使用了

ALTER INDEX改变关键值的范围,所以指定的对象处于PENDING状态
+625 01518 因为删除了主健索引,所以表定义被标注为不完整
+626 01529 删除了加强UNIQUE约束的索引,唯一性不在被加强
+645 01528 因为建立的索引中没有包含NULL,所以WHERE NOT NULL被忽略
+650 01538 不能更改或者建立已命名的表为从属表
+653 01551 在已指定的分区表空间中尚没有建立指定的分区索引,所以分区索引不可得
+655 01597 为CREATE或ALTER STOGROUP语句指定特定或者非特定的卷ID,在DB2较新发布的版本中(版本6

以后)将不再支持他们
+658 01600 当建立目录索引时,不能指定SUBPAGES语句,SUBPAGES将被忽略,并缺省为1
+664 01540 分区索引的限制关键字超出了最大值
+738 01530 已命名的对象的更改可能像只读系统中对象的改变要求一样
+799 0157 SET语句中引用的特定寄存器不存在,将忽略 SET请求
+802 01519 数据溢出或者因除法异常而引起的数据异常错误
+806 01553 ISOLATION(RR)与LOCKSIZE PAGE 冲突
+807 01554 由于十进制乘法导致溢出
+863 01539 连接成功,但是只支持SBCS
+2000 56094 SUBPAGES不等于1的1型索引不能成为数据共享环境中的缓冲池组依赖者
+2002 01624 因为指定的缓冲池不允许超高速缓存,GNPCACHE指定被忽略
+2007 01602 因为DB2子系统的参数禁用“提示(hiats)”所以不能指定优化提示
+30100 01558 分布式协议错误被检测到,提供原来的SQLCODE和SQLSTATE
-007 42601 SQL语句中由非法字符
-010 42603 字符串常量非正常终止;检查到有遗漏的引号标志
-029 42601 需要INTO语句
-060 42815 某特定数据类型的长度或者标量规范无效
-084 42612 不能执行SQL语句,因为该语句对动态SQL无效或者对OS/390的DB2无效
-097 42601 在单位类型、用户自定义的函数以及过程中不能使用带有CAST的LONG VARCHAR或

LONGVARGRAPHIC
-101 54001 SQL语句超出了已确定的DB2限制:例如,表的数目太多,语句中的字节太多
-102 54002 字符串常量太长
-103 42604 无效数学文字
-104 42601 SQL语句中遇到非法符号
-105 42604 无效的字符串格式;通常引用一个格式不正确的图形字符串
-107 42622 对象名太长
-108 42601 RENAME语句中指定的名字有错误,不能使用限定词
-109 42601 指定了无效语句;例如CREATE VIEW不能包含ORDER BY 语句
-110 42606 遇到了无效的十六进制的文字
-111 42901 指定的列函数没有给出列名
-112 42607 无效的列函数语法;列函数不能运行与其他的列函数之上
-113 42602 遇到无效字符
-114 42961 该语句的位置名称必须与当前服务器匹配,但是却没有匹配
-115 42601 因为比较运算符没有伴着一个表达式或者列表,遇到了无效谓词
-117 42802 待插入的数值的个数于被插入的行中的列数不相等
-118 42902 数据修改语句(UPDATE或DELETE)和FROM语句中的表和视图命名不合法
-119 42803 HAVING语句中的列的列表与GROUP BY语句中的列列表不匹配
-120 42903 不允许WHERE语句、SET语句、VALUES语句或者SET ASSIGNMENT语句引用列函数
-121 42701 在INSERT或UPDATE语句中,某一列被非法引用了两次
-122 42803 非法使用了列函数。因为没有用于一个列函数的所有列不再GROUP BY语句中
-123 42601 特定位置的参数必须是一个常数或者一个关键词
-125 42805 ORDERBY语句中指定了无效数字,该数字要么小于1要么大于选定的列数
-126 42829 不能为一个UPDAT

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值