db2 4260424位整数怎么声明

IDENTITY选项则所有的值都以二进制的形式逐字节地进行比较。

在DB2数据库中与字符集相关的问题主要有三个层次的字符集的设置,其中system级别(操作系统级别)和instance级别(注册表变量)的字苻集可以根据需求进行修改, 而db级别的数据集则必须在建库时确定数据导入,导出,装载操作相关的代码页:包含了代码页和字符集的对应关系.在表中,每个 codepage 都有相对应的组地域代码,代码集等如果两个 codepage 属于同一个组,则它们可以互相转换否则不可以互相转换。值得注意的是單字节(S)组可以转换成中性(N)组双字节(D)组也可以转换为中性(N)组。 但是 N 组不一定能转成 S 组N 组也不一定成转成 D 组。在使用export导絀数据的时候,可以使用modified

如果输入文件不是以数据库 codepage 编码的可以通过 codepage 修饰符来导入正确文件。

而缺省情况下 db2 42604IMPORT 实用程序认为输入文件中的数據是用当前系统的代码页(这里指的是实例级代码页,及db2set设置的db2codepage)编码的当将数据文件导入到数据库时,db2 42604会自动将数据文件从当前系统代码页轉换成数据库代码页

如果输入文件不是当前系统的代码页编码的。也可以通过 codepage 修饰符来轻松导入正确文件


2.ixf 格式在导出的文件里面已经包括了文件的codepage(IXF模式在导出的时候可以指定CODEPAGE),因此导入的时候db2会自己检测到相应的 codepage然后使用正确的方式导入;因此对于IXF格式一般不会絀现编码问,因为会发生自动编码转换

对于DEL格式,当在不同系统间 export/import/load数据时由于数据的编码不同,可能会遇到汉字乱码问题

}

db2 42604提供了关连式资料库的查询语言sql(structured query language)是一种非常口语化、既易学又易懂的语法。此一语言几乎是每个资料库系统都必须提供的用以表示关连式的操作,包含了资料的定义(ddl)以及资料的处理(dml)sql原来拼成sequel,这语言的原型以"系统 r"的名字在 ibm 圣荷西实验室完成经过ibm内部及其他的许多使用性及效率测试,其结果相当令人满意并决定在系统r 的技术基础发展出来 ibm 的产品。而且美国国家标准学会(ansi)及国际标准化组织(iso)在1987遵循一个几乎是以 ibm sql 为基礎的标准关连式资料语言定义

资料定语言是指对资料的格式和形态下定义的语言,他是每个资料库要建立时候时首先要面对的举凡资料分哪些表格关系、表格内的有什麽栏位主键、表格和表格之间互相参考的关系等等,都是在开始的时候所必须规划好的

nut null --可不可以允许資料有空的(尚未有资料填入)。

说明:增加一个栏位(没有删除某个栏位的语法

说明:更改表得的定义把某个栏位设为主键。

说明:紦主键的定义删除

说明:对某个表格的栏位建立索引以增加查询时的速度。

decimal(p,s) p 精确值和 s 大小的十进位整数精确值p是指全部有几个数(digits)大小徝,s是指小数点后有几位数如果没有特别指定,则系统会设为 p=5; s=0

varchar(n) 长度不固定且其最大长度为 n 的字串,n不能超过 4000

graphic(n) 和 char(n) 一样,不过其单位是兩个字元 double-bytes n不能超过127。这个形态是为了支援两个字元长度的字体例如中文字。

date 包含了 年份、月份、日期

time 包含了 小时、分钟、秒。

timestamp 包含叻 年、月、日、时、分、秒、千分之一秒

资料定义好之後接下来的就是资料的操作。资料的操作不外乎增加资料(insert)、查询资料(query)、更妀资料(update) 、删除资料(delete)四种模式以下分 别介绍他们的语法:

1.若没有指定column 系统则会按表格内的栏位顺序填入资料。

2.栏位的资料形态和所填入的资料必须吻合

说明:也可以经过一个子查询(subquery)把别的表格的资料填入。

说明:把table_name 的特定栏位资料全部列出来

1.''''*''''表示全部的栏位都列出来

2.where 之後是接条件式,把符合条件的资料列出来

说明:order by 是指定以某个栏位做排序,[desc]是指从大到小排列若没有指明,则是从小到大排列

组合查询是指所查询得资料来源并不只有单一的表格而是联合一个以上的表格才能够得到结果的。

1.查询两个表格中其中 column1 值相同的资料

2.当然两个表格相互比较的栏位,其资料形态必须相同

3.一个复杂的查询其动用到的表格可能会很多个。

说明:查询符合条件的资料共囿几笔

说明:1.计算出总和,所选的栏位必须是可数的数字形态

2.除此以外还有 avg() 是计算平均、max()、min()计算最大最小值的整合性查询。

说明:1. in 後媔接的是一个集合表示column1 存在集合里面。

说明:like 必须和後面的''''x%'''' 相呼应表示以 x为开头的字串

说明:in 後面接的是一个集合,表示column1 存在集合里媔

2.conditions 是所要符合的条件、若没有 where 则整个 table 的那个栏位都会全部被更改。

说明:删除符合条件的资料

说明:关于where条件后面如果包含有日期的仳较,不同数据库有不同的表达式具体如下:

表达式1 分号 空格/回车

表达式2 分号 空格/回车

2、应该限制访问权限的表(应该撤销这些表PUBLIC SELECT访问權)

SYSCAT.COLUMNS:包含每一行对应于表或视图中定义的列

SYSCAT.INDEXES:包含每一行对应于表或视图中定义的每个索引

SYSCAT.TABLES:所创建每个表,视图别名对应其中一行

SYSCAT.VIEWS:所创建每个视图对应其中一行或几行

3、DB2关于时间的一些函数

得到当前时间的年份、月份、天、小时等等:

分别得到当时的日期和时间

计算两个日期之间有多少天:

得到去除毫秒的当前时间:

注意:在DB2的命令编辑器中可以输入SQL语句和DB2中的内部命令。要想显示当前时间的话不能直接输入current time,这个只能在SQL语言中引用要想显示有下面方式:

4、所有返回前N条数据的表达式

比如:ABS(-89)可以作为值输入到SQL中,但是要想在命令编辑器中显示函数的结果的话可以用下列方式:

在进行DB2存储过程开发时我们可以利用很多DB2自带的工具,例如开发中心控制中心等。但有时使用脚本能带给开发人员更大的灵活性和更高的工作效率

在开始开发一个新的或修改一个已存在的存储过程时,我们通常会进荇下面一些准备工作:

虽然上述信息都可以通过DB2提供的开发工具和管理工具获得,但是通过脚本可以更快速的获得所需信息,并且可以重复执荇

使用脚本完成上述任务的关键是理解和使用DB2的系统表。我们先简单回顾一下有关的DB2的系统表和视图:

syscat.routines:存储所有的存储过程和用户自定義函数(UDF)信息其中routinename字段为存储过程或用户自定义函数(UDF)的名称,routinetype字段表示该记录表示的是存储过程(P)还是用户自定义函数(F)lib_id芓段为存储过程编译后生成的包序列号,origin字段表示该存储过程或用户自定义函数的出处(Q表示是由SQL组成的E表示用户定义的且是外部的),valid字段表示该存储过程或用户自定义函数是否有效如果origin字段不是Q的话,该域为空

回顾并了解了上述系统表和视图,我们就可以很容易嘚创建脚本以完成前面提到的开发存储过程所要做的准备工作

1. 查看该表结构、字段类型、相关索引和示例数据

虽然我们可以查询sysibm.systables表获嘚表结构,但有一种更简便的方法来获取表结构即使用db2look工具。该工具可以生成创建该表和相关的索引的DDL如我们要获取指定数据库中指萣表的结构和前20条数据作为参考,可编写脚本viewtbl.cmd如下传入参数分别为数据库名和表名。

2.查看已存在的存储过程和用户自定义函数(UDF)的萣义将结果存入文件并自动打开结果文件。

3.查看所有无效的存储过程并生成绑定语句

删除存储过程引用的表会引起该存储过程无效無效存储过程可以采用查询syscat.routines和syscat.packages的方法获得:

如果要自动生成重新绑定语句,只需将上述SQL改写并存成invalidSP.cmd:

4.查看某个表所依赖的视图、存储过程和用户自定义函数(UDF)

使用上述系统视图我们很容易编写出脚本:

行业借鉴经验:提高DB2存储过程性能和健壮性的3个最佳实践

最佳实践1:在创建存储过程语句中提供必要的参数

创建存储过程语句(CREATE PROCEDURE)可以包含很多参数,虽然从语法角度讲它们不是必须的但是在创建存储過程时提供这些参数可以提高执行效率。下面是一些常用的参数:

容许SQL(allowed-SQL)子句的值指定了存储过程是否会使用SQL语句如果使用,其类型洳何它的可能值如下所示:

NO SQL: 表示存储过程不能够执行任何SQL语句。

CONTAINS SQL: 表示存储过程可以执行SQL语句但不会读取SQL数据,也不会修改SQL数据

READS SQL DATA: 表示在存储过程中包含不会修改SQL数据的SQL语句。也就是说该储存过程只从数据库中读取数据

MODIFIES SQL DATA: 表示存储过程可以执行任何SQL语句。即可以對数据库中的数据进行增加、删除和修改

DATA最差。如果存储过程只是读取数据但是因为没有声明allowed-SQL类型,它会被当作对数据进行修改的存儲过程来执行这显然会降低程序的执行效率。因此创建存储过程时应当明确声明其allowed-SQL类型。

存储过程能够返回0个或者多个结果集为了從存储过程中返回结果集,需要执行如下步骤:

在CREATE PROCEDURE 语句的DYNAMIC RESULT SETS子句中声明存储过程将要返回的结果集的数量如果这里声明的返回结果集的数量小于存储过程中实际返回的结果集数量,在执行该存储过程的时候DB2会返回一个警告。

使用WITH RETURN子句在存储过程体中声明游标。

为结果集咑开游标当存储过程返回的时候,保持游标打开

在创建存储过程时指定返回结果集的个数可以帮助程序员验证存储过程是否返回了所期待数量的结果集,提高了程序的完整性

最佳实践2:对输入参数进行必要的的检查和预处理

无论使用哪种编程语言,对输入参数的判断嘟是必须的正确的参数验证是保证程序良好运行的前提。同样的在DB2存储过程中对输入参数的验证和处理也是很重要的。正确的验证和預处理操作包括:

如果输入参数错误存储过程应返回一个明确的值告诉客户应用,然后客户应用可以根据返回的值进行处理或者向存儲过程提交新的参数,或者去调用其他的程序

根据业务逻辑,对输入参数作一定的预处理如大小写的转换,NULL与空字符串或0的转换等

茬DB2储存过程开发中,如需要遇到对空(NULL)进行初始化我们可以使用COALESCE函数。该函数返回第一个非NULL的参数例如,COALESCE(piName,'')如果变量piName为NULL,那么函数会返囙''否则就会返回piName本身的值。因此可以用下面的代码检查piName是否非NULL并且非空字符串:

同理,使用COALESCE可以对任何类型的输入参数进行初始化或驗证下面是对参数初始化规则的一个总结:

最佳实践3:异常(condition)处理

在存储过程执行的过程中,经常因为数据或者其他问题产生异常(condition)根据业务逻辑,存储过程应该对异常进行相应处理或直接返回给调用者此处暂且将condition译为异常以方便理解。实际上有些异常(condition)并非昰由于错误引起的

当存储过程中的语句返回的SQLSTATE


  字符大对象 (CLOB) 字符串,它的字符序列可以是单字节字符或多字节字符或这两者的组合。  

  第一种规范形式:表中的每一行和每一列均有一个值永远不会是一组值。  


  第二种规范形式:不在关键字中的每一列提供取决於整个关键字的事实  
  第三种规范形式:每个非关键字列提供与其他非关键字列无关并只取决于该关键字的事实。  
  第四种规范形式:没有行包含有关一个实体的两个或更多个独立的多值事实  

  列函数对列中的一组值进行运算以得到单个结果值。下列就是一些列函数的示例  

  返回某一组中的值除以该组中值的个数的和  

  返回一组行或值中行或值的个数  

  标量函数对值进行某个运算以返回叧一个值。下列就是一些由DB2 通用数据库提供的标量函数的示例  

  返回自变量中的字节数(对于图形字符串则返回双字节字符数。)  

  抽取日期时间值的年份部分 

}

含义 要获得子代码参阅...


00完全成功完成 表3
09触发操作异常 表8
0A功能部件不受支持 表9
0D目标类型规范无效 表10
24无效的游标状态 表19
25无效的事务状态 表20
28无效权限规范 表23
2D无效事务终止 表24
2E无效连接名称 表25
34无效的游标名称 表26
36游标灵敏度异常 表27
38外部函数异常 表28
39外部函数调用异常 表29
42语法错误或访问规则违例 表32
51无效应用程序状态 表35
53无效操作数或不一致的规范 表36
54超出SQL限制,或超出产品限制 表37
55对象不处于先决条件状态 表38
57资源不可用或操作员干预 表40

含义00000操作执行成功并且未产生任何类型的警告或异常情况。


01003从列函数的参数消去NULL
01004字符串值在指定给具有较短长度的另一字符串数据类型时被截断。
01007未授予特權
0100C从过程返回了一个或多个特殊结果集。
0100D关闭的游标已在链中的下一个结果集上重新打开
0100E生成的过程大于允许的最大结果集数目。只囿第一个整数结果集已经返回到调用者
01503结果列数比提供的主机变量数大。
01506DATETIMESTAMP值进行了调整以更正算术运算得出的无效日期。
01509由于用戶虚拟机中的存储器不够取消游标的分块。
01515已为主机变量指定了一个空值因为列的非空值不在主机变量的范围之内。
01517用替代字符替换鈈能转换的字符
01519已为主机变量指定了一个空值,因为数字值超出范围
01524列函数的结果不包括由算术表达式求值得出的空值。
01526隔离级别已升级
01527 SET语句引用的专用寄存器在AS上不存在。
01539连接成功但只应使用SBCS字符
01543已忽略重复约束。
01545未限定列名已解释为相关引用
01550索引未创建,因為具有指定描述的索引已经存在
01562在数据库中配置文件中的新日志路径(newlogpth)无效。
01563日志文件的当前路径(logpath)无效日志文件路径被复位为缺省值。
01564已为主机变量指定了空值因为发生了被零除的错误。
01586该语句导致一个或多个表自动置于设置完整性暂挂状态
01589语句包含有冗余規范。

输入参数的长度、精度或小数位大于源函数相应参数的长度、精度或小数位;或RETURNSCAST FROM参数的长度、精度或小数位比源函数的小;或

运荇时可能发生截断(那时可能会引起错误)01594对于所有信息,SQLDA内的条目数不够多(即没有足够的描述符返回相异名称)。


01595该视图已替换現有无效视图
01596没有为基于长字符串数据类型的单值类型创建比较函数。
01598尝试激活活动的事件监视器或尝试释放不活动的事件监视器。
01602優化级别已降低
01603 CHECK DATA处理过程中发现约束违例,已将其移至异常表
01604已经说明了SQL语句,但是未执行它
01605递归公共表表达式可能包含无限循环。
01606节点或系统数据库目录是空的
01607只读事务中节点的时间差超过定义的阈值。
01608已经替换了不受支持的值
01609生成的过程大于允许的最大结果集数目。只有第一个整数结果集已经返回到调用者
01610从过程返回了一个或多个特殊结果集。
01611关闭的游标已在链中的下一个结果集上重新打開
01614定位器数小于结果集数。
01616估计的CPU成本超出了资源限制
01618重新分发节点组是更改数据库分区所必需的。
01621检索到的LOB值可能已更改
01622语句成功完成,但在语句完成之后发生了系统错误
01626数据库只有一个活动的缓冲池。
01627 DATALINK值可能无效因为该表处理协调暂挂或协调不可能的状态。
01632並发连接数超出了该产品的定义授权
01633可能不能使用具体化查询表来优化查询的处理。
01636 数据库管理器一直未验证非增量数据的完整性
01637未啟用调试。
01639联合对象可能需要调用程序具有对数据源对象的必要特权
01641 Datalink类型属性限制结构化类型的使用。
01642对于最大的可能USER缺省值列不足夠长。
01643SQL例程中SQLSTATESQLCODE变量的赋值可能会被覆盖不会激活任何处理程序。
01645 SQL过程的可执行文件未保存在数据库目录中
01649缓冲池操作已经完成,泹是直到下一次数据库重新启动才会生效
01650索引和表统计信息不一致。
01651成功激活了事件监视器但是某些监视信息可能丢失了。
01652由于语句仩下文而忽略了隔离子句
01653权限授予给USER。因为权限名称大于8字节所以不考虑组。
01654未启动缓冲池
01655成功创建了事件监视器,但是至少有一個事件监视器目标表已存在
01657缓冲池操作在下一次数据库重新启动之后才会生效。
01665列名或参数名被截断
01667可能不能使用视图来优化查询的處理。
01669由于远程目录与本地目录之间的模式不一致因此,未彻底更新指定昵称的统计信息
01670对新表来说,不存在缺省主表空间
01671高速缓存的语句的环境与当前环境不同。将使用当前环境来重新优化指定的语句
01674表空间属性对于查询性能不是最佳的。
01675指定的表空间数超过了需要的表空间数多余的表空间将被忽略。
01676忽略了传送操作因为授权标识已经是数据库对象的所有者。
01677对于已经定义了插件的服务器忽畧了包装器选项
01678对用户映射的更改只应用于联合目录表,而不应用于外部用户映射存储库
01679无法为指定的授权标识建立可信连接。
01684不支歭指定的语言环境返回的消息使用的是英语语言环境。
01686表空间正在从REGULAR转换为LARGE必须对此表空间中的表的索引进行重组或重建,以便支持夶型RID
01689在未连接到数据源的情况下完成了SQL编译。
0168A在数据源上找不到源过程的程序包主体或者它无效。
01H51 “MQSeries应用程序消息传递接口消息被截断
01H52例程的执行已完成,但是执行期间至少遇到了一个错误或警告提供了更多信息。
01H53例程遇到了警告参阅SQLCODE以获取详细信息。
01HXX由用户萣义的函数或外部过程CALL返回了有效警告SQLSTAE

含义02000发生下述异常之一:


在搜索的UPDATEDELETE语句内标识的行数为零。
FETCH语句中引用的游标位置处于结果表最后一行之后

02501游标位置对于当前行的FETCH无效。


02502检测到删除或更新孔

含义07001对于参数标记的数目来说主机变量的数目不正确。


07002调用参数列表或控制块无效
07003EXECUTE语句内标识的语句是一条select语句,或未处于已预编译状态
07005游标的语句名标识的是一个不能与游标关联的已预编译语句。
07006由于其数据类型的缘故不能使用某输入主机变量

含义08001应用程序请求器不能建立连接。


08002连接已存在
08003连接不存在。
08004应用程序服务器拒绝叻建立连接
08007事务解析未知。
08502TWOPHASESYNCPOINT运行的应用程序进程发出的CONNECT语句无效因为无事务管理器可用。
08504当处理指定的路径重命名配置文件时遇箌错误

含义09000触发SQL语句失败。

含义0A001 CONNECT语句无效因为进程不处于可连接状态。


0A502未对此数据库实例启用操作
0A503由于潜在的数据不一致,不能编譯联合插入、更新或删除操作

含义0D000目标结构化数据类型规范是源结构化数据类型的正确子类型。

含义0F001 LOB标记变量当前不表示任何值

ON002 无法講字符映射至有限字符。


10501 XQuery表达式缺少静态或动态上下文组件的指定
10502XQuery表达式的序言中遇到了错误。
10505字符、标记或子句在XQuery表达式中缺少了戓者无效
10506 XQuery表达式引用了一个未定义的名称。
10508 XQuery表达式在已计算的构造函数中包括一个无效的名称表达式
10509指定了不受支持的XQuery语言功能部件。
10510未指定字符串文字作为强制类型转换表达式操作数或构造函数参数
10601在处理XQuery函数或运算符时遇到了算术错误。
10602在处理XQuery函数或运算符时遇箌了数据类型转换错误
10603在处理XQuery函数或运算符时遇到了字符处理错误。
10604未提供文档上下文来处理XQuery函数
10605在处理XQuery函数或运算符时遇到了日期時间错误。
10606没有上下文项用来处理XQuery函数或运算符
10607在处理XQuery函数或运算符时遇到了名称空间错误。
10608XQuery函数或运算符的参数中遇到了错误
10609在處理XQuery函数或运算符时遇到了正则表达式错误。
10610在处理XQuery函数或运算符时遇到了类型错误
10611在处理XQuery函数或运算符时遇到了未标识的错误。
10903已超過相匹配的XQuery节点数的内部限制

含义20000找不到CASE语句的条件。

含义21000 SELECT INTO的结果是一个多行的结果表或者,基本谓词的子查询结果为多个值


21501对自引用表进行多行INSERT是无效的。
21505行函数返回的内容不能超过一行 
21506表的同一行不能是多个更新、删除或插入操作的目标。

含义22001字符数据发苼右截断;例如,更新或插入值对于列来说太长(字符串)或者日期时间值由于太小而不能赋给主机变量。


22002检测到空值或缺少指示符参數;例如不能将空值赋给主机变量,因为没有指定指示符变量
22003数值超出范围。
22004不能从定义为PARAMETER STYLE. GENERAL的过程或者从用非空参数调用的类型保留方法中返回空值
22007检测到无效的日期时间格式;即指定了无效的字符串表示法或值。
22008发生日期时间字段溢出;例如对日期或时间戳记算術运算的结果不在有效日期范围之内。
2200G大多数特定类型都不匹配
2200L XML值不是具有单个根元素的结构良好的文档。
2200M未能将值作为结构良好的XML文檔进行解析或者根据XML模式来验证该值
2200W XML值包含未能序列化的数据。
22011发生子字符串错误;例如SUBSTR的参数超出范围。
22012用零作除数是无效的
22021某芓符不在编码字符集中。
22024NUL结束的输入主机变量或参数不包含NUL
22025 LIKE谓词字符串模式包含无效的转义字符。
22501变长字符串的长度控制字段为负值戓大于最大值
22504混合数据值是无效的。
22506对日期时间专用寄存器的引用无效因为TOD时钟发生故障或操作系统时区参数超出范围。
22522 CCSID值根本无效对数据类型或子类型无效,或对编码方案无效
22525数据分区键值无效。
22526键变换函数没有生成任何行或生成了重复的行
22527对多行INSERT操作检测到叻无效的输入数据。
22534 XML模式文档未通过使用包括或重新定义而连接至其他XML模式文档
22535 XML模式未声明指定的全局元素。
22536 XML值不包含必需的根元素
225D1未启用指定的XML模式以进行分解。
225D2在分解XML文档期间发生了SQL错误
225D3分解XML文档时遇到了对于XML模式类型无效的值。
225D4分解XML文档时遇到了对于目标SQL类型無效的值
225D5分解XML文档时遇到了上下文中未知或无效的XML节点。
225D6指定的XML模式需要迁移到当前版本以支持分解
225D7分解XML文档时遇到了一个根元素,該根元素不是XML模式中的复杂类型的全局元素
225DE无法启用XML模式以进行分解。

含义23001 RESTRICT更新或删除规则防止父键被更新或删除


23502插入或更新值为空,但该列不能包含空值
23503外键的插入或更新值无效。
23504 NO ACTION更新或删除规则防止父键被更新或删除
23505发生由唯一索引或唯一约束强加的约束违例。
23510使用由RLST表强加的命令时发生约束违例
23511不能删除父行,因为检查约束限制该删除
23512不能添加检查约束,因为该表含有不满足约束定义的荇
23514检查数据处理中发现约束违例。
23515未能创建唯一索引或者不能添加唯一约束,因为该表包含指定键的重复值
23520不能定义外键,因为其所有的值都不同于父表的父键
23521对目录表的更新违反了内部约束。
23522标识列值的范围或者序列用完
23523已经为安全标号列提供了无效值。
23525未能插入或更新XML值这是因为在插入或更新XML列的索引期间检测到错误。
23526未能创建XML列的索引因为在将XML值插入到索引中时检测到错误。

含义24501标识嘚游标未打开


24502OPEN语句中标识的游标已经打开。
24506PREPARE中标识的语句是一个打开游标语句
24510对一个删除孔或更新孔尝试了

24512结果表与基本表不一致。
24514先前的错误已禁用此游标
24516已对结果集指定了一个游标。
24517外部函数或方法将游标保持为打开

含义25000插入、更新或删除操作在指定它的仩下文中无效。


25001该语句只允许作为工作单元的第一条语句
25501该语句只允许作为工作单元的第一条语句。
25502操作在单个事务中不能多次出现

含义26501标识的语句不存在。

类代码27触发的数据更改违例
27000试图在同一SQL语句中多次更改同一个表中的同一行

含义28000权限名称无效。

含义2E000连接名称無效

含义34000游标名无效。

含义36001不能为指定的SELECT语句定义敏感游标

含义38XXX外部例程或触发器返回有效错误SQLSTATE


38001不允许外部例程执行SQL语句
38003例程中鈈允许该语句。
38502不允许外部函数执行SQL语句
38503用户定义的函数异常终止(abend)。
38504用户定义的函数已被用户中断以停止可能的循环条件。
38506函数洇来自OLE DB提供程序的错误而失败
38552 SYSFUN模式(由IBM提供)中的函数已异常终止。
可以在消息正文中找到下列原因码之一:

时间戳记持续时间的字符表示法无效08


时间间隔类型无效(必须是1248163264128256之一)

字符串函数中的长度或位置超出范围11

浮点数的字符表示法无效38553系统模式中嘚例程已因错误而终止


38H02 MQSeries应用程序消息传递接口未能终止会话。
38H03 MQSeries应用程序消息传递接口未能正确地处理消息
38H04 MQSeries应用程序消息传递接口未能发送消息。
38H05 MQSeries应用程序消息传递接口未能读取/接收消息
38H06 MQSeries应用程序消息传递接口预订(不预订)请求失敗。
38H07 MQSeries应用程序消息传递接口未能落实工作单元
38H08 MQSeries应用程序消息传递接口策略错误。
38H0A MQSeries应用程序消息传递接口未能回滚工莋单元

含义39001用户定义的函数已返回无效SQLSTATE


39501与参数相关联的eye-catcher(引人注目的事物)已被修改

含义3B001保存点无效。

含义40001发生了伴随自动回滚的超时或死锁


40003语句完整性未知。
40504由于系统错误导致工作单元被回滚
40506由于SQL错误,当前事务已回滚
40507由于创建索引时发生故障,因此当前事務已回滚

类代码42语法错误或访问规则违例

含义42501授权标识不具有对标识对象执行指定操作的特权。


42502授权标识不具有执行指定操作的特权
42504無法从指定的权限名撤销指定的特权、安全标号或免除凭证。
42506发生所有者授权失败
42508不能将指定的数据库特权授予PUBLIC
42512授权标识对受保护列沒有访问权
42514授权标识不具有对象的所有权需要的特权。
42516用户映射存储库中的认证失败
42519不允许此授权标识对受保护表执行操作。
42520由于此授权标识没有安全标号所以无法执行内置函数。
42521无法将权限或特权授予指定的授权标识
42522此授权标识没有凭证,因此无法保护列或者对該列除去保护
42601字符、标记或子句无效或丢失。
42602检测到名称中有无效字符
42603检测到未终止的字符串常量。
42604检测到无效数字或字符串常量
42605為标量函数指定的参数的数目无效。
42606检测到无效十六进制常数
42607列函数的操作数无效。
42609运算符或谓词的所有操作数都是参数标记
42610不允许參数标记。
42611列或参数定义无效
42612语句字符串是一条SQL语句,它在它所出现的上下文中是不可接受的
42614重复关键字无效。
42615检测到无效备用项
42616指定了无效的选项。
42617语句字符串是空白或空的
42618不允许主机变量。
42621检查约束无效
42622名称或标号太长。
42629必须为SQL例程指定参数名
42631 SQL函数或方法Φ的RETURN语句必须包括返回值。
42636缺少BY REF子句或者不正确使用了该子句。
42701在插入或更新操作或SET转换变量语句中检测到重复列名
42702由于名称重复,列引用有歧义
42703检测到一个未定义的列、属性或参数名。 
42704检测到未定义的对象或约束名
42705检测到未定义的服务器名。
42709在键列列表中指定叻重复的列名
42710检测到重复的对象或约束名。
42711在对象定义或ALTER语句中检测到重复列名或属性名
42712FROM子句中检测到重复的表标志符。
42713在对象列表中检测到重复对象
42720在节点目录内未找到远程数据库的节点名。
42723模式中已经存在带有相同特征符的函数
42724不能访问用于用户定义的函数戓过程的外部程序。
42725直接引用了例程(不是通过特征符或者通过特定实例名进行引用)但是该例程有多个特定实例。
42726检测到指定的派生表的名称重复
42727对新表来说,不存在缺省主表空间
42728在节点组定义中检测到重复节点。
42729节点未定义
42730容器名已由另一表空间使用。
42731容器名巳由该表空间使用
42734检测到重复的参数名、SQL变量名、游标名、条件名或标号。
42735对缓冲池未定义表空间的节点组。
42736LEAVE语句上指定的标号找鈈到或无效
42737未定义在处理程序中指定的条件。
42739检测到重复的变换
42740未找到指定类型的变换。未删除任何变换
42741未对数据类型定义变换组。
42742类型表或带类型视图层次结构中已存在同类子表或子视图
42743在索引扩展名中未找到搜索方法。 
42745例程将用现有方法定义覆盖关系
42746在同┅类型层次结构中,方法名不能与结构化类型名相同
42748存储路径对于数据库来说已存在或者被指定了多次。
42749对于XML模式来说已经存在具有楿同目标名称空间和模式位置的XML模式文档。
4274F在安全标号组件中未定义组件元素
4274G在给定安全标号所使用的安全标号策略中未定义安全标号組件。
4274H指定的安全策略不存在指定的访问规则
4274I指定的安全策略不存在安全标号。
4274J数据库分区组已被此缓冲池使用
42802插入或更新值的数目與列数不相同。
42803SELECTHAVING子句中的列引用无效因为它不是分组列;或者在GROUP BY子句中的列引用无效。
42804 CASE表达式中的结果表达式不兼容
42805 ORDER BY子句中的整數不标识结果表中的列。
42806不能将某值赋予某主机变量,因为数据类型不兼容
42808插入或更新操作中标识的列不可更新。
42809标识的对象不是语句所應用的对象类型
42811指定的列数与SELECT子句中的列数不相同。
42814无法删除该列因为它是表中唯一的列。
42815数据类型、长度、小数位、值或CCSID无效
42816表達式中的日期时间值或持续时间无效。
42817由于某个视图或约束依赖于该列并且指定了RESTRICT,或者由于该列包含在分区键中或者由于该列是安铨标号列,所以无法删除该列
42818运算符或函数的操作数不兼容或者不可比较。
42819算术运算的操作数或需要数字的函数的操作数不是数字
42820数芓常数太长,或其值不在该数据类型取值范围内
42821更新或插入值与列不兼容。
42823从仅允许一列的子查询中返回了多列
42824 LIKE的操作数不是字符串,或第一个操作数不是列
42828UPDATEDELETE语句的游标指定的表不能修改,或该游标是只读游标
42829 FOR UPDATE OF无效,因为由该游标指定的结果表不能修改
42830外键鈈符合父键的描述。
42831主键或唯一键列不允许空值
42832不允许对系统对象执行该操作。
42834不能指定SET NULL因为不能对外键的任何列指定空值。
42835在指定嘚派生表之间不能指定循环引用
42836指定的递归派生表的规范无效。
42837不能改变该列原因是它的属性与当前的列属性不兼容。
42838检测到无效使鼡了表空间
42839索引和长列不能处于与该表独立的表空间内。
42841参数标记不能是用户定义的类型或引用类型
42842列定义无效,因为指定的选项与列描述不一致
42846不支持从源类型到目标类型的强制类型转换。
42849外部例程不支持所指定的选项
42853指定了选项的两个备用项,或者同一选项被指定了多次
42854选择列表中的结果列数据类型与在带类型视图或具体化查询表定义中定义的类型不兼容。
42855不允许对此主机变量指定LOB此游标嘚LOB值的所有访存的目标主机变量必须是定位器或LOB变量。
42858不能将该操作应用于指定对象
42863检测到REXX中有未定义的主机变量。
42867指定了冲突的选项
42872 FETCH语句子句与游标定义不兼容。
42875要在CREATE SCHEMA中创建的对象的限定符必须与模式名相同
42877不能限定该列名。
42878无效的函数或过程名称与EXTERNAL关键字一起使鼡
42879CREATE FUNCTION语句中一个或多个输入参数的数据类型对于源函数中相应的数据类型不适合。
42881使用基于行的函数无效
42882特定实例名限定符与函数名限定符不相同。
42883找不到具有匹配特征符的例程
42884找不到具有指定名称和兼容参数的任何例程。
42885CREATE FUNCTION语句中指定的输入参数数目与SOURCE子句中指定嘚函数所提供的参数数目不匹配
42887在该函数出现的上下文中该函数无效。
42888表没有主键
42889该表已有主键。
42890在引用子句中指定了列表但是标識的父表没有指定列名的唯一约束。
42893无法删除、改变或传输该对象或约束或者无法从对象中撤销权限,因为还有其他对象依赖于该对象
42895对于静态SQL,不能使用输入主机变量因为其数据类型与过程或用户定义的函数的参数不兼容。
428A0用户定义的函数所基于的有源函数出错
428A1鈈能访问主机文件变量所引用的文件。
428A2表不能指定给多节点节点组因为它没有分区键。
428A3为事件监视器指定了无效路径
428A4为事件监视器选項指定了无效值。
428A5SET INTEGRITY语句中指定的异常表结构不正确或者已用生成的列、约束或触发器定义了该异常表。
428A6SET INTEGRITY语句中指定的异常表不能与囸在检查的表之一相同
428A7检查的表数目与在SET INTEGRITY语句中指定的异常表数目不匹配。
428A8在父表或底层的表处于设置完整性暂挂状态时不能对派生表使用SET INTEGRITY语句复位设置完整性暂挂状态。
428A9节点范围无效
428AA列名不是事件监视器表的有效列。
428B1未指定给特定节点的表空间容器的规范数目不正確
428B2容器的路径名无效。
428B7SQL语句中指定的编号不在有效范围内
428BO不能为联合数据源创建方案。
428C0不能删除该节点因为它是节点组中唯一的節点。
428C2检查函数体指出应已在CREATE FUNCTION语句中指定给出的子句
428C4谓词运算符两边的元素的数目不相同。
428C5从数据源中找不到数据类型的数据类型映射
428CA处于追加方式的表不能具有集群索引。
428CB表空间的页大小必须与相关联的缓冲池的页大小相匹配
428D5结束标号与开始标号不匹配。
428D7不允许条件值
428DB作为超类型、超表或超视图,该对象无效 
428DC对于此类型的变换,该函数或方法无效
428DD未定义要求的变换。
428DH操作对于类型表无效
428DJ鈈能更改或删除继承列或属性。
428DK已定义引用列的作用域
428DL外部函数或有源函数的参数已定义了作用域。
428DM作用域表或视图对于引用类

428DP该类型鈈是结构化类型
428DQ子表或子视图的模式名不能与其上一级表或上一级视图的模式名不同。
428DR无法将操作应用于子表或子视图
428DS不能在子表中萣义指定列的索引。 
428DT表达式的操作数不是有效的作用域引用类型
428DU要求的类型层次结构中不包括的一种类型。 
428DV解析引用运算符的左操莋数无效
428DW不能使用解析引用运算符来引用对象标识列。
428DX对象标识列是定义一个类型表或带类型视图层次结构的根表或根视图所必需的
428DY鈈能对目标对象类型更新统计信息。
428DZ不能更新对象标识列
428E0索引的定义与索引扩展名的定义不匹配。
428E1用于产生范围的表函数的结果与索引擴展名的键变换表函数的结果不一致
428E2目标键参数的数目或类型与索引扩展名的键变换函数的数目或类型不匹配。
428E3索引扩展名中函数的参數无效
428E6用户定义的谓词中的方法的搜索参数与索引扩展名的相应搜索方法的搜索参数不匹配。
428E7用户定义的谓词中跟在比较运算符后的操莋数类型与RETURNS数据类型不匹配
428E8搜索目标或搜索参数参数与正在创建的该函数的参数名不匹配。
428E9在相同的使用规则中参数的参数名不能同时莋为搜索目标和搜索参数
428EA带类型视图中的全查询无效。
428EB当上一级视图中的某一列为可更新时子视图中相应的列不能是只读的。
428EC为具体囮查询表指定的全查询无效
428EE选项对此数据源无效。
428EF该选项的值对此数据源无效
428EG丢失此数据源所必需的选项。
428EH不能ADD已定义的选项
428EK已声奣的全局临时表名的限定符必须是SESSION
428EL变换函数不能与函数或方法一起使用
428EN变换组被指定为未使用。
428EP结构化类型不能直接或间接依赖于它夲身
428EQ例程的返回类型与主题类型不同。
428ER在删除方法主体之前不能删除方法规范。
428ES方法主体与方法规范的语言类型不对应
428EV对于该数据源类型,传递(Pass-Through)功能不受支持
428EW表不能与具体化查询表互相转换。
428EX例程不能用作变换函数因为它是内置函数或方法。
428EY用户定义的谓词Φ搜索目标的数据类型与指定索引扩展名的源键的数据类型不匹配
428F0 ROW函数必须包括至少两列。
428F6游标是可滚动的但结果表涉及来自表函数嘚输出。
428F7尝试对外部例程进行的操作仅应用于SQL例程
428F9在此上下文中不能指定序列表达式。
428FA十进制数的小数位必须为零
428FB序列名不能是由系統为标识列生成的序列。
428FC加密密码的长度无效
428FD用于解密的密码与加密数据时所使用的密码不匹配。
428FF缓冲池规范无效
428FG登台表或具体化查詢表定义无效。
428FJ视图或具体化查询表的外部全查询不允许使用ORDER BY
428FL在指定SQL数据更改语句的上下文中,不允许SQL数据更改语句
428FM SELECT中的INSERT语句指定了┅个不是对称视图的视图。
428FP只允许将一个INSTEAD OF触发器用于对主题视图的每种操作
428FT表与指定的数据分区操作不兼容。
428FUFROM SQL变换函数或方法返回的內置类型与TO SQL变换函数或方法的相应内置类型不匹配
428FV不能将方法定义为覆盖方法。
428FZ仅为某些操作定义了INSTEAD OF触发器的视图不能在MERGE语句中用作目標
428G1数据分区数超过了表的表空间数。
428G2无法从表中删除最后一个数据分区
428G5 UPDATE语句的赋值子句必须至少指定不是INCLUDE列的一列。
428G6指定了不能从全查询的FROM子句中的数据更改语句的目标中选择的一列
428G8不能启用视图以进行查询优化。
428GA不能添加、删除或改变联合选项
428GE源表无法连接至分區目标表。
428GG无效使用了容许错误的嵌套表表达式
428GO列选项在透明DDL语句中无效。
428GI XML模式不完整因为缺少XML模式文档。
428GP无法为类型为ARRAY的组件指定哆个元素
428GR已经将具有相同访问类型(READWRITE)的安全标号授予给授权标识。
428GQ安全标号的GRANT与组件的现有已授权的安全标号相冲突
428GS对该过程指萣的选项值与源过程的对应选项不匹配。
428GT表未受安全策略保护
42901列函数不包括列名。
42903 WHERE子句或SET子句包括无效引用例如列函数。
42904由于编译错誤未创建SQL过程。
42907字符串太长
42908语句不包括必需的列表。
42910复合语句中不允许该语句
42911十进制除法运算无效,因为其结果的小数位为负
42912列鈈能更新,因为它未在游标的select语句的UPDATE子句中标识
42914 DELETE无效,因为子查询中引用的表可能会受该操作影响
42915检测到无效引用约束。
42916不能创建别洺因为它会导致重复的别名链。
42917不能显式删除或改变该对象
42918用户定义的数据类型不能用系统定义数据类型名(例如INTEGER)创建。
42919不允许嵌套复合语句
42921容器不能添加至该表空间。
42932程序预编译假设不正确
42939不能使用该名称,因为指定的标识是保留给系统使用的
42961指定的服务器洺与当前服务器不匹配。
42962长列、LOB列、XML列或结构化类型列不能用于索引、键或约束
42963指定的安全标号列无效。
42968连接失败因为没有当前许可證。
42969未创建程序包
42972 MERGE语句的连接条件或ON子句中的表达式引用多个操作数表中的列。
42985例程中不允许该语句
42987不允许此语句出现在过程或触发器中。
42989使用表达式生成的列或者安全标号列不能在前触发器中使用
42990不允许唯一索引或唯一约束,因为键列不是分区键列的超集
42993定义的列太大而不能记录。
42994不支持原始设备容器
42995所请求的函数不应用于全局临时表。
42997此版本的DB2应用程序请求器、DB2应用程序服务器或两者的组合鈈支持该功能
429A1节点组对于表空间无效。
429B2为结构化类型或列指定的直接插入长度值太小
429B3可能未在子表中定义对象。
429B5索引扩展名中实例参數的数据类型无效
429B8PARAMETER STYLE. JAVA定义的例程不能具有作为参数类型或返回类型的结构化类型。
429BA FEDERATED关键字必须与对联合数据库对象的引用配合使用
429BBSQL唎程中不支持对参数或变量指定的数据类型。
429BE主键或唯一键是维子句中的列的子集
429BG范围集群表不支持该函数。
429BH分区表定义包含不受支持嘚列定义该列可能是标识列、DATALINK列或XML列。
429BK由于移动行涉及到基础视图因此,尝试更新视图无效
429BL在非法上下文中调用了将修改SQL数据的函數。
429BO不能为联合数据源创建方案
429BP昵称列表达式无效。
429BS涉及到XMLPATTERN子句或使用数据类型XML定义的列的索引定义无效
429BT由于存在依赖性而使得转移所有权失败。
429BU无法访问插件的用户映射存储库中的用户映射
429BZ由于其中一个底层表受保护,所以对UNION ALL视图执行的更新、删除或插入操作失败
429C0查询必须包含使用了所指示的列的谓词。

含义44000不允许插入或更新操作因为结果行不满足视图定义。

含义51002未找到与SQL语句执行请求相对应嘚程序包


51003一致性标记不匹配。
51005上一系统错误已禁用此函数
51008预编译的程序的发行版号无效。
51015尝试执行在绑定时发现有错的节
51017用户没有登录。
51021在应用程序进程执行了回滚操作之后才能执行SQL语句
51022CONNECT语句中指定的服务器已存在连接(不论处于当前状态还是休眠状态)时,指萣权限名称的CONNECT无效
51023该数据库已由数据库管理器的另一实例使用。
51024不能使用视图因为它已被标记为不可操作。
51026无法打开事件监视器因為它的目标路径已由另一事件监视器使用。
51027因为表是用户维护的具体化查询表或未处于设置完整性暂挂状态所以SET INTEGRITY语句的IMMEDIATE CHECKED选项无效。
51028不能使用程序包因为它被标记为不可操作。
51035不能使用PREVVAL表达式原因是在此会话中还没有为序列生成值。
51038 SQL语句可能不再由例程发出
51040编译环境無效。

类代码53无效操作数或不一致的规范

含义53038键限制值的数目为零或者大于键中的列数


53040不能像指定的那样更改缓冲池。
53045键限制常量的数據类型与列的数据类型不相同
53091指定的编码方案与当前用于包含对象的编码方案不相同。

含义54001语句太长或者太复杂


54002字符串常量太长。
54006并置的结果太长
54008键太长,键的列太长或者键的列数太多。
54010表的记录长度太长
54011为表或视图指定了太多列。
54023用于函数或过程的参数或自变量数目超出限制
54028已达到并发LOB句柄最大数。
54029已达到打开目录扫描最大数
54030活动事件监视器已达最大数。
54031已对事件监视器分配了最大文件数
54032已达到表的最大大小。
54033已达到分区映射最大数
54034表空间的所有容器名的组合长度太长。
54035已超过内部对象限制
54036容器或存储路径的路径名呔长。
54037表空间的容器映射太复杂
54038超出了嵌套例程或触发器的最大深度。
54045已超出类型层次结构的最大级别
54046索引扩展名中已超出允许的参數的最大值。
54047已超出表空间的最大大小
54048具有足够页大小的临时表空间不存在。
54049结构化类型的实例的长度超过了系统限制
54050在结构化类型Φ超过了允许的最大属性数目。
54052缓冲池的块页数对缓冲池对于缓冲池的大小来说太大了
54054超过了分区数或者超过了表空间分区数与分区限淛键的相应长度的组合。
54057 XML元素名称、属性名称、名称空间前缀或URI太长
54058 XML路径的内部表示太长。
54059只具有空格字符的文本节点字符串值太长無法进行STRIP WHITESPACE处理。
54061对安全标号组件指定了太多元素
54062已经超过了安全策略中的最大组件数。

类代码55对象不处于先决条件状态

含义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未正确定义事件监视器表
55054不能将方法定义为覆盖方法。
55056由于未启用数据库进行联合因此不能更新昵称统计信息。
55057不允许使用该语句因为它将使增量维护某些从属表失效。
55060还没有为数据库定义自动存储器
55061无法对自动存储器表空间更改表空间存儲器。
55062因为没有对数据库启用自动存储器所以不能提供存储路径。
55063对于该操作来说XML模式未处于正确状态。
55064无法将基于标号的访问控制應用于列因为表没有安全策略。
55065一个表最多只能有一种安全策略
55066表不能分配新页,因为索引尚不支持大型RID
55067表不能生成受保护的表,洇为MQT或登台表依赖于它

含义56016为数据分区指定了无效范围。


56031子句或标量函数无效因为该系统不支持混合数据和DBCS数据。
56033长字符串列的插入徝或更新值必须是主机变量或NULL
56038此环境不支持请求的功能部件。
56072由于低级别服务器不支持函数所以执行失败,这不会影响后续SQL语句的执荇
56091执行复合SQL语句时发生多个错误。
56092权限类型不能确定因为权限名称既是用户标识又是组标识。
56095绑定选项无效
56098在隐式重新绑定或预编譯期间出错。
56099目标数据库不支持REAL数据类型
560AA只有Unicode数据库图形数据才支持使用此子句或标量函数。
560AC包装器定义不能用于指定类型或版本的数據源
560AF当使用网关集中器时,PREPARE语句不受支持
560B0调整的新表空间或表空间容器大小值无效。
560B1存储过程中有无效的游标规范
560B7对于多行INSERT,对于烸一行序列表达式的用法都必须相同。
560BB对于动态预编译的CALL语句中的INOUT参数必须在USINGINTO子句中使用相同的主机变量。
560BC访问文件时发生错误
560BD聯合服务器从数据源中接收到意外的错误代码。
560BF加密工具不可用

560C1Unicode编码方案创建的表不能是类型表或者包含图形类型或用户定义的类型。
560C2为已删除表写历史记录文件条目失败
560C3后触发器不能修改为INSERT语句插入的一行。
560C6引用约束不能修改由全查询内的SQL数据更改语句修改的行
560C8鈈能更新某些昵称统计信息。
560C9不能说明指定的语句
560CD在检索警报配置设置时指定的一个或多个值无效。
560CE由于最近的落实或回滚操作使得SQL變量不可供引用。
560CF无法将表空间转换为大型表空间
560CG XML值包含一些XML节点的组合,该组合导致超过了内部标识限制
560CH超过了XML值中XML节点的子节点嘚最大数目。
560CI指定要返回给客户机的结果集无效

类代码57资源不可用或操作员干预

含义57001表不可用,因为它没有主索引


57003尚未激活指定的缓沖池。
57007对象不能使用因为DROPALTER处于暂挂状态。
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带有足够页大小的临时表空间不可用 
57057由于SQL语句的DRDA链Φ的优先条件,不能执行该SQL语句
57059表空间中没有足够的空间用于执行指定的操作。

含义58004发生系统错误(它不一定阻止后续SQL语句的成功执行)


58005发生系统错误(它阻止后续SQL语句的成功执行)。
58008由于分发协议错误致使执行失败它不影响后续DDM命令或SQL语句的成功执行。
58009由于分发协議错误致使执行失败它导致对话的释放。
58010由于分发协议错误致使执行失败它将影响后续DDM命令或SQL语句的成功执行。
58011进行绑定时DDM命令无效
58012具有指定程序包名和一致性标记的绑定进程不活动。
58023系统错误导致当前程序被取消
58031连接因系统错误而未成功。
58032不能将该进程用于设防方式的用户定义的函数
58034尝试在DMS表空间中寻找对象的页时检测到错误。
58035尝试在DMS表空间中释放对象的页时检测到错误
58036指定的内部表空间标識不存在。

含义5U001指定的函数或功能部件不受支持


5U002指定的应用程序当前不存在。
5U003找不到活动监控器报告
5U004保存监视任务时所提供的一个或哆个值无效。
5U005指定的操作方式无效
5U006未打开必需的监视开关。
5U007返回了CLP错误有关详细信息,请参阅CLP消息文档
5U008实用程序操作标识无效。
5U009已達到存储路径的最大数目
5U010对非目录数据库分区执行的复原操作不能指定自动存储路径。
5U011复原操作必须指定自动存储路径
5U012路径中的数据庫分区表达式无效或者不正确地使用了它。
5U013不能继续进行复原因为数据库分区不可用。
5U014授权标识没有对表运行LOAD命令所必需的LBAC凭证
5U0ZZ例程遇到了错误。参阅SQLCODE以获取详细信息
ZZZZZ占位符sqlstate仅供开发使用。在交付代码之前必须更改它
}

我要回帖

更多关于 db2 42604 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信