日期:2014-05-16  浏览次数:20549 次

DB2 sqlstate代码消息以及其含义

本节列示 SQLSTATE 及其含义。SQLSTATE 是按类代码进行分组的;对于子代码,请参阅相应的表。
表 2. SQLSTATE 类代码 类
代码??
含义 要获得子代码,
参阅...
00 完全成功完成 表 3
01 警告 表 4
02 无数据 表 5
07 动态 SQL 错误 表 6
08 连接异常 表 7
09 触发操作异常 表 8
0A 功能部件不受支持 表 9
0D 目标类型规范无效 表 10
0F 无效标记 表 11
0K RESIGNAL 语句无效 表 12
0N SQL/XML 映射错误 表 13
20 找不到 CASE 语句的条件 表 15
21 基数违例 表 16
22 数据异常 表 17
23 约束违例 表 18
24 无效的游标状态 表 19
25 无效的事务状态 表 20
26 无效 SQL 语句标识 表 21
28 无效权限规范 表 23
2D 无效事务终止 表 24
2E 无效连接名称 表 25
34 无效的游标名称 表 26
36 游标灵敏度异常 表 27
38 外部函数异常 表 28
39 外部函数调用异常 表 29
3B SAVEPOINT 无效 表 30
40 事务回滚 表 31
42 语法错误或访问规则违例 表 32
44 WITH CHECK OPTION 违例 表 33
46 Java DDL 表 34
51 无效应用程序状态 表 35
53 无效操作数或不一致的规范 表 36
54 超出 SQL 限制,或超出产品限制 表 37
55 对象不处于先决条件状态 表 38
56 其他 SQL 或产品错误 表 39
57 资源不可用或操作员干预 表 40
58 系统错误 表 41
5U 实用程序 表 42

类代码 00 完全成功完成
表 3. 类代码 00:完全成功完成 SQLSTATE 值??
含义
00000 操作执行成功,并且未产生任何类型的警告或异常情况。

类代码 01 警告
表 4. 类代码 01:警告 SQLSTATE 值??
含义
01002 发生 DISCONNECT 错误。
01003 从列函数的参数消去 NULL 值。
01004 字符串值在指定给具有较短长度的另一字符串数据类型时被截断。
01005 SQLDA 中的条目数不够。
01007 未授予特权。
0100C 从过程返回了一个或多个特殊结果集。
0100D 关闭的游标已在链中的下一个结果集上重新打开。
0100E 生成的过程大于允许的最大结果集数目。只有第一个整数结果集已经返回到调用者。
01503 结果列数比提供的主机变量数大。
01504 UPDATE 或 DELETE 语句不包括 WHERE 子句。
01506 对 DATE 或 TIMESTAMP 值进行了调整,以更正算术运算得出的无效日期。
01509 由于用户虚拟机中的存储器不够,取消游标的分块。
01515 已为主机变量指定了一个空值,因为列的非空值不在主机变量的范围之内。
01516 已忽略不可用的 WITH GRANT OPTION。
01517 用替代字符替换不能转换的字符。
01519 已为主机变量指定了一个空值,因为数字值超出范围。
01524 列函数的结果不包括由算术表达式求值得出的空值。
01526 隔离级别已升级。
01527 SET 语句引用的专用寄存器在 AS 上不存在。
01539 连接成功但只应使用 SBCS 字符。
01543 已忽略重复约束。
01545 未限定列名已解释为相关引用。
01550 索引未创建,因为具有指定描述的索引已经存在。
01560 忽略了一个冗余的 GRANT。
01562 在数据库配置文件中的新日志路径(newlogpth)无效。
01563 日志文件的当前路径(logpath)无效。日志文件路径被复位为缺省值。
01564 已为主机变量指定了空值,因为发生了被零除的错误。
01586 该语句导致一个或多个表自动置于设置完整性暂挂状态。
01589 语句包含有冗余规范。
01592 在引用 SOURCE 函数的 CREATE FUNCTION 语句中,或:
输入参数的长度、精度或小数位大于源函数相应参数的长度、精度或小数位;或
RETURNS 或 CAST FROM 参数的长度、精度或小数位比源函数的小;或
CREATE FUNCTION 语句中的 CAST FROM 参数的长度、精度或小数位比 RETURNS 参数的大。
运行时可能发生截断(那时可能会引起错误)。
01594 对于所有信息,SQLDA 内的条目数不够多(即,没有足够的描述符返回相异名称)。
01595 该视图已替换现有无效视图。
01596 没有为基于长字符串数据类型的单值类型创建比较函数。
01598 尝试激活活动的事件监视器,或尝试释放不活动的事件监视器。
01599 忽略 REBIND 上的绑定选项。
01602 优化级别已降低。
01603 CHECK DATA 处理过程中发现约束违例,已将其移至异常表。
01604 已经说明了 SQL 语句,但是未执行它。
01605 递归公共表表达式可能包含无限循环。
01606 节点或系统数据库目录是空的。
01607 只读事务中节点的时间差超过定义的阈值。
01608 已经替换了不受支持的值。
01609 生成的过程大于允许的最大结果集数目。只有第一个整数结果集已经返回到调用者。
01610 从过程返回了一个或多个特殊结果集。
01611 关闭的游标已在链中的下一个结果集上重新打开。
01614 定位器数小于结果集数。
01616 估计的 CPU 成本超出了资源限制。
01618 重新分发节点组是更改数据库分区所必需的。
01620 UNION ALL 的某些基本表可能是同一个表。
01621 检索到的 LOB 值可能已更改。
01622 语句成功完成,但在语句完成之后发生了系统错误。
01623 忽略 DEGREE 的值。
01625 模式名在 CURRENT PATH 中出现了多次。
01626 数据库只有一个活动的缓冲池。
01627 DATALINK 值可能无效,因为该表处理协调暂挂或协调不可能的状态。
01632 并发连接数超出了该产品的定义授权。
01633 可能不能使用具体化查询表来优化查询的处理。
01636 数据库管理器一直未验证非增量数据的完整性。
01637 未启用调试。
01639 联合对象可能需要调用程序具有对数据源对象的必要特权。
01641 Datalink 类型属性限制结构化类型的使用。
01642 对于最大的可能 USER 缺省值,列不足够长。
01643 对 SQL 例程中 SQLSTATE 或 SQLCODE 变量的赋值可能会被覆盖,不会激活任何处理程序。
01645 SQL 过程的可执行文件未保存在数据库目录中。
01648 忽略了 COMPRESS 列属性,因为对表取消激活了 VALUE COMPRESSION。
01649 缓冲池操作已经完成,但是直到下一次数据库重新启动才会生效。
01650 索引和表统计信息不一致。
01651 成功激活了事件监视器,但是某些监视信息可能丢失了。
01652 由于语句上下文而忽略了隔离子句。
01653 权限授予给 USER。因为权限名称大于 8 字节,所以不考虑组。
01654 未启动缓冲池。
01655 成功创建了事件监视器,但是至少有一个事件监视器目标表已存在。
01657 缓冲池操作在下一次数据库重新启动之后才会生效。
01665 列名或参数名被截断。
01667 可能不能使用视图来优化查询的处理。
01669 由于远程目录与本地目录之间的模式不一致,因此,未彻底更新指定昵称的统计信息。
01670 对新表来说,不存在缺省主表空间。
0167