DB2 SQLSTATE 消息 异常 三
(2009-03-11 17:45:37)
标签:
杂谈 |
分类: 技术交流 |
类代码 51 无效应用程序状态
表 35. 类代码 51:无效应用程序状态 SQLSTATE
值
含义
51002 未找到与 SQL 语句执行请求相对应的程序包。
51003 一致性标记不匹配。
51004 SQLDA 中的地址无效。
51005 上一系统错误已禁用此函数。
51008 预编译的程序的发行版号无效。
51015 尝试执行在绑定时发现有错的节。
51017 用户没有登录。
51021 在应用程序进程执行了回滚操作之后才能执行 SQL 语句。
51022 当 CONNECT 语句中指定的服务器已存在连接(不论处于当前状态还是休眠状态)时,指定权限名称的 CONNECT
无效。
51023 该数据库已由数据库管理器的另一实例使用。
51024 不能使用视图,因为它已被标记为不可操作。
51025 在 XA 事务处理环境中的应用程序未用 SYNCPOINT TWOPHASE 绑定。
51026 无法打开事件监视器,因为它的目标路径已由另一事件监视器使用。
51027 因为表是用户维护的具体化查询表或未处于设置完整性暂挂状态,所以 SET INTEGRITY 语句的 IMMEDIATE
CHECKED 选项无效。
51028 不能使用程序包,因为它被标记为不可操作。
51030 在应用程序进程中尚未调用 ALLOCATE CURSOR 或 ASSOCIATE LOCATORS
语句中所引用的过程。
51034 使用 MODIFIES SQL DATA 定义的例程在调用它的上下文中无效。
51035 不能使用 PREVVAL 表达式,原因是在此会话中还没有为序列生成值。
51038 SQL 语句可能不再由例程发出。
51039 未设置 ENCRYPTION PASSWORD 值。
51040 编译环境无效。
类代码 53 无效操作数或不一致的规范
表 36. 类代码 53:无效操作数或不一致的规范 SQLSTATE
值
含义
53038 键限制值的数目为零或者大于键中的列数。
53040 不能像指定的那样更改缓冲池。
53045 键限制常量的数据类型与列的数据类型不相同。
53090 同一条 SQL 语句中只能引用具有一种编码方案(ASCII、EBCDIC 或 Unicode)的数据。
53091 指定的编码方案与当前用于包含对象的编码方案不相同。
类代码 54 超过 SQL 或产品限制
表 37. 类代码 54:超过 SQL 限制或产品限制 SQLSTATE
值
含义
54001 语句太长或者太复杂。
54002 字符串常量太长。
54004 语句中 SELECT 或 INSERT 列表中的项或表名太多。
54006 并置的结果太长。
54008 键太长,键的列太长,或者键的列数太多。
54010 表的记录长度太长。
54011 为表或视图指定了太多列。
54023 用于函数或过程的参数或自变量数目超出限制。
54028 已达到并发 LOB 句柄最大数。
54029 已达到打开目录扫描最大数。
54030 活动事件监视器已达最大数。
54031 已对事件监视器分配了最大文件数。
54032 已达到表的最大大小。
54033 已达到分区映射最大数。
54034 表空间的所有容器名的组合长度太长。
54035 已超过内部对象限制。
54036 容器或存储路径的路径名太长。
54037 表空间的容器映射太复杂。
54038 超出了嵌套例程或触发器的最大深度。
54045 已超出类型层次结构的最大级别。
54046 索引扩展名中已超出允许的参数的最大值。
54047 已超出表空间的最大大小。
54048 具有足够页大小的临时表空间不存在。
54049 结构化类型的实例的长度超过了系统限制。
54050 在结构化类型中超过了允许的最大属性数目。
54052 缓冲池的块页数对缓冲池对于缓冲池的大小来说太大了。
54053 为 BLOCKSIZE 指定的值不在有效范围内。
54054 超过了分区数或者超过了表空间分区数与分区限制键的相应长度的组合。
54057 XML 元素名称、属性名称、名称空间前缀或 URI 太长。
54058 XML 路径的内部表示太长。
54059 只具有空格字符的文本节点字符串值太长,无法进行 STRIP WHITESPACE 处理。
54061 对安全标号组件指定了太多元素。
54062 已经超过了安全策略中的最大组件数。
类代码 55 对象不处于先决条件状态
表 38. 类代码 55:对象不处于先决条件状态。 SQLSTATE
值
含义
55001 数据库必须迁移。
55002 未正确定义解释表。
55006 对象不能删除,因为它当前正由同一应用程序进程使用。
55007 不能改变对象,因为它当前正由同一应用程序进程使用。
55009 系统尝试对只读文件或写保护软盘进行写入。
55012 在表中已存在一个集群索引。
55019 表的状态对于该操作无效。
55022 未向此数据库注册文件服务器。
55023 调用例程时发生错误。
55024 表空间不能删除,因为与表相关的数据也在另一表空间中。
55025 必须重新启动数据库。
55026 不能删除临时表空间。
55031 错误映射文件的格式不正确。
55032 CONNECT 语句无效,因为在该应用程序启动后,数据库管理器停止。
55033 事件监视器不能在创建它或修改它所处的同一工作单元内激活。
55034 事件监视器处于无效的操作状态。
55035 不能删除该表,因为它是受保护的。
55036 不能删除该节点,因为它未从该分区映射除去。
55037 不能删除该分区键,因为该表在多节点节点组内。
55038 该节点组不能使用,因为它正在进行重新平衡。
55039 不允许访问或状态转换,因为该表空间未处于适当状态。
55041 在进行重新平衡时,不能将容器添加至表空间。
55043 当基于该类型的类型表或带类型视图存在时,不能改变结构化类型的属性。
55045 不能为该例程创建“SQL 归档”(SAR)文件,因为服务器上未提供所需组件。
55046 指定的 SQL 归档与目标环境不匹配。
55047 外部函数或方法尝试访问联合对象。
55048 不能再加密已加密的数据。
55049 未正确定义事件监视器表。
55051 ALTER BUFFERPOOL 语句当前正在处理中。
55054 不能将方法定义为覆盖方法。
55056 由于未启用数据库进行联合,因此不能更新昵称统计信息。
55057 不允许使用该语句,因为它将使增量维护某些从属表失效。
55060 还没有为数据库定义自动存储器。
55061 无法对自动存储器表空间更改表空间存储器。
55062 因为没有对数据库启用自动存储器,所以不能提供存储路径。
55063 对于该操作来说,XML 模式未处于正确状态。
55064 无法将基于标号的访问控制应用于列,因为表没有安全策略。
55065 一个表最多只能有一种安全策略。
55066 表不能分配新页,因为索引尚不支持大型 RID。
55067 表不能生成受保护的表,因为 MQT 或登台表依赖于它。
类代码 56 其他 SQL 或产品错误
表 39. 类代码 56:其他 SQL 或产品错误 SQLSTATE
值
含义
56016 为数据分区指定了无效范围。
56031 子句或标量函数无效,因为该系统不支持混合数据和 DBCS 数据。
56033 长字符串列的插入值或更新值必须是主机变量或 NULL。
56038 此环境不支持请求的功能部件。
56072 由于低级别服务器不支持函数,所以执行失败,这不会影响后续 SQL 语句的执行。
56084 在 DRDA 中不支持 LOB 数据。
56091 执行复合 SQL 语句时发生多个错误。
56092 权限类型不能确定,因为权限名称既是用户标识又是组标识。
56095 绑定选项无效。
56097 在 DEVICE 上构建的 TABLESPACE 中不允许 LONG VARCHAR 和 LONG VARGRAPHIC
字段。
56098 在隐式重新绑定或预编译期间出错。
56099 目标数据库不支持 REAL 数据类型。
560A0 对 LOB 值的操作失败。
560AA 只有 Unicode 数据库图形数据才支持使用此子句或标量函数。
560AC 包装器定义不能用于指定类型或版本的数据源。
560AF 当使用网关集中器时,PREPARE 语句不受支持。
560B0 调整的新表空间或表空间容器大小值无效。
560B1 存储过程中有无效的游标规范。
560B7 对于多行 INSERT,对于每一行,序列表达式的用法都必须相同。
560BB 对于动态预编译的 CALL 语句中的 INOUT 参数,必须在 USING 和 INTO
子句中使用相同的主机变量。
560BC 访问文件时发生错误。
560BD 联合服务器从数据源中接收到意外的错误代码。
560BF 加密工具不可用。
560C0 不能在 SQL 函数或 SQL 方法中使用以 Unicod
e 编码方案创建的表。
560C1 以 Unicode 编码方案创建的表不能是类型表或者包含图形类型或用户定义的类型。
560C2 为已删除表写历史记录文件条目失败。
560C3 后触发器不能修改为 INSERT 语句插入的一行。
560C6 引用约束不能修改由全查询内的 SQL 数据更改语句修改的行。
560C8 不能更新某些昵称统计信息。
560C9 不能说明指定的语句。
560CB 联合服务器从 Web Service 数据源中接收到 SOAP 故障。
560CD 在检索警报配置设置时指定的一个或多个值无效。
560CE 由于最近的落实或回滚操作,使得 SQL 变量不可供引用。
560CF 无法将表空间转换为大型表空间。
560CG XML 值包含一些 XML 节点的组合,该组合导致超过了内部标识限制。
560CH 超过了 XML 值中 XML 节点的子节点的最大数目。
560CI 指定要返回给客户机的结果集无效。
560CJ 必须在 IBMCATGROUP 数据库分区组中创建表空间。
类代码 57 资源不可用或操作员干预
表 40. 类代码 57:资源不可用或操作员干预 SQLSTATE
值
含义
57001 表不可用,因为它没有主索引。
57003 尚未激活指定的缓冲池。
57007 对象不能使用,因为 DROP 或 ALTER 处于暂挂状态。
57009 虚拟存储器或数据库资源暂时不可用。
57011 虚拟存储器或数据库资源不可用。
57012 非数据库资源不可用。这不会影响后续语句的成功执行。
57013 非数据库资源不可用。这将影响后继语句的成功执行。
57014 按照请求取消了处理。
57016 因为表不活动,所以不能访问它。
57017 未定义字符转换。
57019 该语句因资源问题未成功。
57020 包含数据库的驱动器被锁定。
57021 软盘驱动器门是打开的。
57022 不能创建表,因为语句的授权标识不拥有任何合适的 dbspaces。
57030 与应用程序服务器的连接超出安装定义的限制。
tp57032 已启动最大并发数据库数。
57033 发生死锁或超时,而没有自动回滚。
57036 事务日志不属于当前的数据库。
57046 不能启动新的事务,因为数据库或实例被停顿。
57047 不能创建内部数据库文件,因为该目录不可访问。
57048 访问表空间的容器时发生错误。
57049 已达到操作系统进程界限。
57050 文件服务器当前不可用。
57051 估计的 CPU 成本超出了资源限制。
57052 节点不可用,因为它所含有的容器不足以满足所有的临时表空间。
57053 因为冲突操作,所以不能对表执行操作。
57055 带有足够页大小的临时表空间不可用。
57056 程序包不可用,因为数据库处于 NO PACKAGE LOCK 方式。
57057 由于 SQL 语句的 DRDA 链中的优先条件,不能执行该 SQL 语句。
57059 表空间中没有足够的空间用于执行指定的操作。
类代码 58 系统错误
表 41. 类代码 58:系统错误 SQLSTATE
值
含义
58004 发生系统错误(它不一定阻止后续 SQL 语句的成功执行)。
58005 发生系统错误(它阻止后续 SQL 语句的成功执行)。
58008 由于分发协议错误致使执行失败,它不影响后续 DDM 命令或 SQL 语句的成功执行。
58009 由于分发协议错误致使执行失败,它导致对话的释放。
58010 由于分发协议错误致使执行失败,它将影响后续 DDM 命令或 SQL 语句的成功执行。
58011 进行绑定时 DDM 命令无效。
58012 具有指定程序包名和一致性标记的绑定进程不活动。
58014 DDM 命令不受支持。
58015 DDM 对象不受支持。
58016 DDM 参数不受支持。
58017 DDM 参数值不受支持。
58018 不支持 DDM 应答消息。
58023 系统错误导致当前程序被取消。
58030 发生 I/O 错误。
58031 连接因系统错误而未成功。
58032 不能将该进程用于设防方式的用户定义的函数。
58034 尝试在 DMS 表空间中寻找对象的页时检测到错误。
58035 尝试在 DMS 表空间中释放对象的页时检测到错误。
58036 指定的内部表空间标识不存在。
类代码 5U 实用程序
表 42. 类代码 5U:实用程序 SQLSTATE
值
含义
5U001 指定的函数或功能部件不受支持。
5U002 指定的应用程序当前不存在。
5U003 找不到活动监控器报告。
5U004 保存监视任务时所提供的一个或多个值无效。
5U005 指定的操作方式无效。
5U006 未打开必需的监视开关。
5U007 返回了 CLP 错误。有关详细信息,请参阅 CLP 消息文档。
5U008 实用程序操作标识无效。
5U009 已达到存储路径的最大数目。
5U010 对非目录数据库分区执行的复原操作不能指定自动存储路径。
5U011 复原操作必须指定自动存储路径。
5U012 路径中的数据库分区表达式无效或者不正确地使用了它。
5U013 不能继续进行复原,因为数据库分区不可用。
5U014 授权标识没有对表运行 LOAD 命令所必需的 LBAC 凭证。
5U0ZZ 例程遇到了错误。参阅 SQLCODE 以获取详细信息。
ZZZZZ 占位符 sqlstate 仅供开发使用。在交付代码之前必须更改它。