【数据库】:关于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
20 不到 CASE 语句的条件表 13
21 基数违例表 14
22 数据异常表 15
23 约束违例表 16
24 ⽆效游标状态表 17
25 ⽆效事务状态表 18
26 ⽆效 SQL 语句标识表 19
28 ⽆效权限规范表 21
2D ⽆效事务终⽌表 22
2E ⽆效连接名表 23
34 ⽆效游标名表 24
36 游标灵敏度异常表 25
38 外部函数异常表 26
39 外部函数调⽤异常表 27
3B SAVEPOINT ⽆效表 28
40 事务回滚表 29
42 语法错误或存取规则违例表 30
44 WITH CHECK OPTION 违例表 31
46 Java DDL 表 32
51 ⽆效应⽤程序状态表 33
53 ⽆效操作数或不⼀致的规范表 34
54 超出 SQL 限制,或超出产品限制表 35
55 对象不处于先决条件状态表 36
56 其它 SQL 或产品错误表 37
57 资源不可⽤或操作员⼲预表 38
58 系统错误表 39
类代码 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 将引⽤结构中⽗表的约束设置为 OFF 已导致⼀个或多个派⽣表被⾃动置为检查暂挂状态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 只读事务中节点的时间差超过定义的阈值。
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 对新表来说,不存在缺省主表空间。
01671 ⾼速缓存的语句的环境与当前环境不同。将使⽤当前环境来重新优化指定的语句。
01H51 “MQSeries 应⽤程序消息传递接⼝”消息被截断。
01HXX 由⽤户定义的函数或外部过程 CALL 返回了有效警告 SQLSTAE。
类代码 02 ⽆数据
表 5. 类代码 02:⽆数据
SQLSTATE 值
含义
02000 发⽣下述异常之⼀:
• SELECT INTO 语句或 INSERT 语句的⼦查询的结果为空表。
• 在搜索的 UPDATE 或 DELETE 语句内标识的⾏数为零。
• 在 FETCH 语句中引⽤的游标位置处于结果表最后⼀⾏之后。
02501 游标位置对于当前⾏的 FETCH ⽆效。
02502 检测到删除或更新孔
类代码 07 动态 SQL 错误
表 6. 类代码 07:动态 SQL 错误
SQLSTATE 值
含义
07001 对于参数标记的数⽬来说,主机变量的数⽬不正确。
07002 调⽤参数列表或控制块⽆效。
07003 在 EXECUTE 语句内标识的语句是⼀条选择语句,或未处于已预编译状态。
07004 动态参数需要 USING ⼦句或 INTO ⼦句。
07005 游标的语句名标识的是⼀个不能与游标关联的已预编译语句。
07006 由于其数据类型的缘故不能使⽤某输⼊主机变量。
类代码 08 连接异常
表 7. 类代码 08:连接异常
SQLSTATE 值
含义
08001 应⽤程序请求器不能建⽴连接。
08002 连接已存在。
08003 连接不存在。
08004 应⽤程序服务器拒绝建⽴连接。
08007 事务解析未知。
08502 ⽤ TWOPHASE 的 SYNCPOINT 运⾏的应⽤程序进程发出的 CONNECT 语句⽆效,因为⽆事务管理器可⽤。08504 当处理指定的路径重命名配置⽂件时遇到错误。
类代码 09 触发操作异常
表 8. 类代码 09:触发操作异常
SQLSTATE 值
含义
09000 触发 SQL 语句失败。
类代码 0A 不⽀持功能部件
表 9. 类代码 0A:不⽀持功能部件
SQLSTATE 值
含义
0A001 CONNECT 语句⽆效,因为进程不处于可连接状态。
0A502 未对此数据库实例启⽤操作。
0A503 由于潜在的数据不⼀致,不能编译联合插⼊、更新或删除操作。
类代码 0D ⽬标类型规范⽆效
表 10. 类代码 0D:⽬标类型规范⽆效
SQLSTATE 值
含义
0D000 ⽬标结构化数据类型规范是源结构化数据类型的正确⼦类型。
类代码 0F ⽆效标记
表 11. 类代码 OF:⽆效标记
SQLSTATE 值
含义
0F001 LOB 标记变量当前不表⽰任何值。
类代码 0K RESIGNAL 语句⽆效
表 12. 类代码 0K:RESIGNAL 语句⽆效
SQLSTATE 值
含义
0K000 RESIGNAL 语句不在处理程序中。
类代码 20 不到 CASE 语句的条件
表 13. 类代码 20:不到 Case 语句的条件
SQLSTATE 值
含义
20000 不到 CASE 语句的条件。
类代码 21 基数违例
表 14. 类代码 21:基数违例
SQLSTATE 值
含义
21000 SELECT INTO 的结果是⼀个多⾏的结果表,或者,基本谓词的⼦查询结果为多个值。
21501 对⾃引⽤表进⾏多⾏ INSERT 是⽆效的。
21502 主键的多⾏ UPDATE 是⽆效的。
21504 从删除规则为 RESTRICT 或 SET NULL 的⾃引⽤表进⾏多⾏ DELETE 是⽆效的。
21505 ⾏函数返回的内容不能超过⼀⾏。 
21506 表的同⼀⾏不能是多个更新、删除或插⼊操作的⽬标。
类代码 22 数据异常
表 15. 类代码22:数据异常
SQLSTATE 值
含义
22001 字符数据,发⽣右截断;例如,更新或插⼊值对于列来说太长(字符串),或者⽇期时间值由于太⼩⽽不能赋给主机变量。22002 检测到空值或缺少指⽰符参数;例如,不能将空值赋给主机变量,因为没有指定指⽰符变量。
22003 数字值超出范围。
22004 不能从定义为 PARAMETER STYLE GENERAL 的过程或者从⽤⾮空⾃变量调⽤的类型保留⽅法中返回空值。
22007 检测到⽆效的⽇期时间格式;即指定了⽆效的字符串表⽰法或值。
22008 发⽣⽇期时间字段溢出;例如,对⽇期或时间戳记算术运算的结果不在有效⽇期范围之内。
2200G ⼤多数特定类型都不匹配。
22011 发⽣⼦字符串错误;例如,SUBSTR 的⾃变量超出范围。
22012 ⽤零作除数是⽆效的。
22018 对于 CAST、DECIMAL、FLOAT、或 INTEGER 标量函数,字符值是⽆效的。
22019 LIKE 谓词有⽆效转义字符。
22021 某字符不在编码字符集中。
22024 以 NUL 结束的输⼊主机变量或参数不包含 NUL。
22025 LIKE 谓词字符串模式包含⽆效的转义字符。
2202D 配合变异⽅法使⽤了空实例。
2202H 在 TABLESAMPLE ⼦句中指定的样本⼤⼩⽆效。
22501 变长字符串的长度控制字段为负值或⼤于最⼤值。
22504 混合数据值是⽆效的。
22506 对⽇期时间专⽤寄存器的引⽤⽆效,因为 TOD 时钟发⽣故障或操作系统时区参数超出范围。
db2数据库sql语句22522 CCSID 值根本⽆效,对数据类型或⼦类型⽆效,或对编码⽅案⽆效。
22526 键变换函数没有⽣成任何⾏或⽣成了重复的⾏。
22527 对多⾏ INSERT 操作检测到了⽆效的输⼊数据。
类代码 23 约束违例
表 16. 类代码 23:约束违例
SQLSTATE 值
含义
23001 RESTRICT 更新或删除规则防⽌⽗键被更新或删除。
23502 插⼊或更新值为空,但该列不能包含空值。
23503 外键的插⼊或更新值⽆效。
23504 NO ACTION 更新或删除规则防⽌⽗键被更新或删除。
23505 发⽣由唯⼀索引或唯⼀约束强加的约束违例。
23510 使⽤由 RLST 表强加的命令时发⽣约束违例。
23511 不能删除⽗⾏,因为检查约束限制该删除。
23512 不能添加检查约束,因为该表含有不满⾜约束定义的⾏。
23513 INSERT 或 UPDATE 的结果⾏不符合检查约束定义。
23514 检查数据处理中发现约束违例。
23515 不能建⽴唯⼀索引,或不能添加唯⼀约束,因为该表包含指定键的重复值。
23520 不能定义外键,因为其所有的值都不同于⽗表的⽗键。
23521 对⽬录表的更新违反了内部约束。
23522 标识列值的范围或者序列⽤完。
23524 UNION ALL 视图内的⽆效⾏移动。
23527 联合数据源中发⽣了完整性约束违例。
类代码 24 ⽆效游标状态
表 17. 类代码 24:⽆效游标状态
SQLSTATE 值
含义
24501 标识的游标未打开。
24502 在 OPEN 语句中标识的游标已经打开。
24504 在 UPDATE、DELETE、SET 或 GET 语句中标识的游标未定位在⾏上。
24506 在 PREPARE 中标识的语句是⼀个打开游标语句。
24510 对⼀个删除孔或更新孔尝试了 UPDATE 或 DELETE 操作。
24512 结果表与基本表不⼀致。
24513 不允许 FETCH NEXT、PRIOR、CURRENT 或 RELATIVE,原因是游标位置未知。24514 先前的错误已禁⽤此游标。
24516 已对结果集指定了⼀个游标。
24517 外部函数或⽅法将游标保持为打开。
类代码 25 ⽆效事务状态
表 18. 类代码 25:⽆效事务状态
SQLSTATE 值
含义
25000 插⼊、更新或删除操作在指定它的上下⽂中⽆效。
25001 该语句只允许作为⼯作单元的第⼀个语句。
25501 该语句只允许作为⼯作单元的第⼀个语句。
25502 操作在单个事务中不能多次出现。
类代码 26 ⽆效 SQL 语句标识
表 19. 类代码 26:⽆效 SQL 语句标识
SQLSTATE 值
含义
26501 标识的语句不存在。
类代码 27 触发的数据更改违例
表 20. 类代码 27:触发的数据更改违例
SQLSTATE 值含义
27000 已尝试通过约束或触发器来修改 MERGE 语句的⽬标表。
类代码 28 ⽆效权限规范
表 21. 类代码 28:⽆效权限规范
SQLSTATE 值
含义
28000 权限名称⽆效。
类代码 2D ⽆效事务终⽌
表 22. 类代码 2D:⽆效事务终⽌
SQLSTATE 值
含义
2D521 SQL COMMIT 或 ROLLBACK 在当前操作环境中⽆效。
2D522 ATOMIC 复合语句中不允许 COMMIT 和 ROLLBACK。
2D528 动态 COMMIT 对于应⽤程序执⾏环境⽆效。
2D529 动态 ROLLBACK 对于应⽤程序执⾏环境⽆效。
类代码 2E ⽆效连接名
表 23. 类代码 2E:⽆效连接名
SQLSTATE 值
含义
2E000 连接名⽆效。
类代码 34 ⽆效游标名
表 24. 类代码 34:⽆效游标名
SQLSTATE 值
含义
34000 游标名⽆效。
类代码 36 ⽆效游标规范

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。