史上最全的 DB2 错误代码大全

1 前言

作为一个程序员,数据库是我们必须掌握的知识,经常操作数据库不可避免,but,在写 SQL 语句的时候,难免遇到各种问题。例如,当我们看着数据库报出的一大堆错误时,是否有种两眼发蒙的感觉呢?咳咳,莫要否认,你有、我有,全都有啊!不过,值得庆幸的是,已经有人帮咱们整理出一份关于 DB2 的错误代码大全啦,以后再遇到数据库报错,直接拎出看看,岂不爽哉?当然,在此对原作者送上万分的感谢。

2 错误代码及说明

SQLCode

SQLState

状态说明

000

00000

SQL语句成功完成

01xxx

XXX

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

ORDER BY语句中指定了无效数字,该数字要么小于1要么大于选定的列数

-126

42829

不能为一个UPDATE语句指定ORDER BY语句

-127

42905

在子选择中DISTINCT只能指定一次

-128

42601

SQL谓词中NULL使用不当

-129

54004

SQL语句中包含的表多于15个

-130

22019

ESCAPE语句必须为一个字符

-131

42818

LIKE谓词只能用于字符数据

-132

42824

LIKE语句、ESCAPE语句、LOCATE函数或POSSTR函数中有无效运算对象

-133

42906

无效相关子查询引用

-134

42907

大于255字节的列被不正确使用

-136

54005

排序关键字的长度大于4000字节

-137

54006

被连接的字符串太大;字符的最大值为32767;图形的最大值为16382

-138

22011

SUBSTR列函数的第二个或第三个操作符无效

-142

42612

不支持的SQL语句。该语句可能在另外的RDBMS上有效,也有可能在其他的上下文中有效(例如,VALUES只能在触发器中出现)

-144

58003

指定的段号无效

-147

42809

某一源函数不能更改。要改变源函数,必须删除该源函数并重新建立他

-148

42809

RENAME和ALTER无法执行。RENAME不能对视图或者活动RI.ST表重新命名。ALTER不能用于改变列的长度,因为该列参与了RI、一个用户退出程序、全局的临时表或打开DATACAPTURE CHANGES表的列

-150

42807

触发活动的INSERT,UPDATE或DELETE语句中指定了无效的视图更新或一个无效的转换表

-151

42808

试图更新一个不可更新的视图的列、一个DB2 CATALOG表的列或者一个ROWID列

-152

42809

DROP CHECK试图删除一个参照约束,或者DROP FOREIGN试图删除一个检查约束

-153

42908

无效的视图建立请求,必须为旋转列表中列出的列出的未命名的列或者重复的列提供一个名字

-154

42909

不能用UNION、UNION ALL或者一个远程表建立视图

-156

42809

在视图上建立索引是非法的,或者在ALTER TABLE,CREATE TRIGGER,DROP TABLE或LOCK TABLE语句上指定一个不是表的其他对象这是无效的

-157

42810

必须在FOREIGN KEY语句中指定一个表名

-158

42811

视图的列和选择列表中的列不相匹配

-159

42089

无效DROP或COMMENT ON语句

-160

42813

对该视图的WITH CHECK OPTION无效

-161

44000

正被更新的视图WITH CHECK OPTION语句使得这行不能被插入或更新

-164

42502

用户没有建立这个视图的权限

-170

42605

标量函数指定了无效的参数个数

-171

42815

标量函数指定了无效的数据类型长度或者无效数值

-173

42801

在非只读型的游标上不能指定隔离级别UR

-180

22007

DATE、TIME、TIMESTAMP值的字符串表示法的语法不对

-181

22001

不是有效的DATE、TIME、TIMESTAMP值

-182

42816

在算术表达式中的日期/时间值无效

-183

22008

在算术表达式中返回的日期/时间值的结果不在有效值的范围内

-184

42610

没有正确使用日期/时间值的参数标记

-185

57008

没有定义本定的日期/时间出口

-186

22505

改变本定的日期/时间出口引发这个程序的长度无效

-187

22506

MVS返回无效的当前日期/时间

-188

22503

字符串表示无效

-189

22522

指定的编码字符集的ID无效或没有定义

-190

42837

不能象所设定的那样改变(ALTER)列。只能改变(ALTER)VARCHAR列的长度

-191

22504

字符串中包含了无效的混合数据

-197

42877

当两个或多个表被联合在一起排序时,限定的列名不能在ORDER BY语句中使用

-198

42617

试图对空的字符串发布一个PREPARE或EXECUTE IMMEDIATE语句

-199

42601

SQL语句中使用了非法关键词

-203

42702

模糊列引用

-204

42704

没有定义的对象名

-205

42703

指定的表的列名无效

-206

42703

列名没有在FROM语句所引用的任何表中,或者没有在定义触发器所在的表中

-208

42707

不能ORDER BY指定列,应为该列不在选择列表中

-212

42712

指定的表名在触发器中不允许多次使用,只能使用一次

-214

42822

DISTINCT、ORDER BY 引起的无效表达式

-219

42704

因为PLAN_TABLE不存在,EXPLAIN无法执行

-220

55002

遇到无效的PLAN_TABLE列

-221

55002

如果为PLAN_TABLE定义了可供选择的列,那么,必须定义所有的列

-229

42708

指定的现场找不到

-240

428B4

LOCK TABLE语句的PART子句无效

-250

42718

没有定义本地位置名

-251

42602

记号无效

-300

22024

宿主变量或参数中的字符串不是以NULL为终止

-301

42895

无效的宿主变量数据类型

-302

22001

输入的变量值对指定的列无效

-303

42806

因为数据类型不兼容,不能分配数值

-304

22003

因为数据超出了范围,不能分配数值

-305

22002

没有NULL指示符变量

-309

22512

因为引用的宿主变量被设置成NULL,所以谓词无效

-310

22501

十进制的宿主变量或参数包含非十进制数据

-311

22501

输入的宿主变量长度无效,或者时负值或者太大

-312

42618

没有定义宿主变量或者宿主变量不可用

-313

7001

宿主变量的个数不等于参数标识的个数

-314

42714

模糊的宿主变量引用

-327

22525

在最后分区的关键字范围内,不能插入行

-330

22021

不能成功的翻译字符串

-331

22021

字符串不能分配到宿主变量,因为其不能成功的被翻译

-332

57017

不能为两个命名的编码字符集的ID定义翻译规则

-333

56010

子类型无效导致翻译失败

-338

42972

ON语句无效,必须引用连接的列

-339

56082

访问DB2 2.2版本的子系统被拒绝,原因时ASCII到EBCDIC翻译不能进行

-351

56084

SELECT列表中有不支持的数据类型

-352

56084

输入列表中有不支持的数据类型

-355

42993

LOB列太大,以至不能被记录在日志中

-372

428C1

每个表只允许有一个ROWID列

-390

42887

在上下文中指定的函数无效

-392

42855

自从前一次FETCH以来,指定游标的SQLDA已被不恰当的改变

-396

38505

在最后的访问过程中,视图执行SQL语句

-397

428D3

在某一列上不恰当的指定了GENERATED因为该列不是ROWID数据类型

-398

428D2

为某一个宿主变量请求LOCATOR,但是该宿主变量不是一个LOB

-399

22511

在INSERT语句中为ROWID列指定的值无效

-400

54027

在DB2编目中定义的用户自定义索引不能超过100个

-401

42818

算术操作符或比较操作符的操作对象不是兼容的

-402

42819

算术函数不能用于字符或日期时间数据

-404

22001

SQL语句指定的字符串太长

-405

42820

数值文字超出了范围

-406

22003

计算出的或者倒出的数值超出了范围

-407

23502

不能把NULL值插到定义为NOT NULL的列中

-408

42821

数值不能被更新或插入,因为他与列的数据类型不兼容

-409

42607

COUNT函数指定的运算对象无效

-410

42820

浮点文字笔30个字符的最大允许长度长

-411

56040

CURRENT SQLID使用无效

-412

42823

在子查询的选择列表中遇到了多个列

-413

22003

当转换为一个数字型数据类型时,数据溢出

-414

42824

LIKE谓词不能运行于用数字或日期时间类型定义的列

-415

42825

为UNION操作指定的选择列表不是联合兼容的

-416

42907

包含UNION操作符的SQL语句不允许有长的字符串列

-417

42609

两参数标识符作为运算对象被指定在同一谓词的两边

-418

42610

参数标识符使用无效

-419

42911

十进制除法无效

-420

22018

字符串自变量值不符合函数的要求

-421

42826

UNION操作的选择列表中没有提供相同数目的列

-423

0F001

为LOB或结果集定位器指定的值无效

-426

2D528

在不允许更新的应用服务器不允许执行COMMIT语句

-427

2D529

在不允许更新的应用服务器不允许执行ROLLBACK语句

-430

38503

在用户自定义的函数或存储过程中遇到了错误

-433

22001

指定的值太长

-435

428B3

无效的应用定义的SQLSTATE

-438

xxxxx

使用了RAISE_ERROR函数的应用发出了一个错误

-440

42884

存储过程或用户自定义函数的参数列表参数个数于预期的个数不匹配

-441

42601

与标量函数一起使用DISTINCT或ALL是不正确的用法

-443

42601

指定的外部函数返回错误的SQLSTATE

-444

42724

与被称为存储过程或用户自定义函数有关的程序不能找到

-449

42878

对存储过程或用户自定义的 函数,CREATE或ALTER语句不正确(缺失EXTERNAL NAME 子句)

-450

39501

存储过程或用户自定义函数写入存储器的值超过了参数声明的长度

-451

42815

CREATE FUNCTION中指定了不正确的数据类型

-453

42880

用户自定义函数中的RETURNS语句无效

-454

42723

指定的函数识别标记与已存在的另一函数的识别标记冲突

-455

42882

模式名不比配

-456

42710

为用户自定义函数指定的函数名已经存在

-457

42939

用户自定义函数或用户自定义类型正试图使用系统中定义的函数或者类型所用的名称

-458

42883

没有找到函数

-463

39001

特定的外部例程返回无效的SQLSTATE

-469

42886

参数定义为OUT或INOUT的CALL语句必须提供宿主变量

-470

39002

指定了NULL参数,但是该例程却不支持NULL

-471

55023

存储过程或用户自定义函数失败:提供原因代码

-472

24517

外部的函数程序使游标处于打开状态

-473

42918

用户自定义数据类型命名不能和系统定义的数据类型一样

-475

42866

结果类型不能被转换成RETURNS类型

-476

42725

在其模式中该函数不是独一无二的

-478

42893

不能DROP或REVOKE特定的对象,因为其他对象依赖于该对象

-480

51030

直到存储过程已经被CALL后,DESCRIBE PROCEDURE和ASSOCIATE LOCATORS才能被发布

-482

51030

存储过程不返回到任何一个定位器

-483

42885

CREATE FUNCTION语句中的参数个数与源函数中的参数个数不匹配

-487

38001

选择了NO SQL选项建立指定的存储过程或用户自定义函数,但却视图发布SQL语句

-491

42601

CREATE FUNCTION语句无效,因为该语句没有RETURNS语句或者因为该语句没有指定有效的SOURCE或者EXTERNAL语句

-492

42879

指定函数的指定参数的个数有错误

-495

57051

语句的估计处理器成本超出了资源限制

-496

51033

语句无法执行,因为当前服务器与调用存储过程的服务器不同

-497

54041

指定的数据库超过了32767 OBID的上限,或者CREATE DATABASE语句使之达到了32511DBID的上限

-499

24516

指定的游标已被分配到结果集,该结果集来自已经指定的存储过程

-500

24501

因为连接被破坏,WITH HOLD游标被关闭

-501

24501

在试图获取数据或关闭一个游标前必须打开一个游标

-502

24502

在没有关闭游标前不能再次打开游标

-503

42912

因为列在游标的FOR UPDATE OF语句中没有被指定,该游标用于获取该列,所以不能更新该列

-504

34000

不能引用一个游标,因为他不是定义到程序里的

-507

24501

在试图更新或者删除WHERE CURRENT OF前,必须打开游标

-508

24504

因为被引用的游标当前不是处于数据行上,所以不能被更新或删除

-509

42827

除了在游标上指定的那个表(该表由WHERE CURRENT OF语句引用的)以外,再也不能从别的表上更新数据

-510

42828

表或视图不能被修改

-511

42829

对不可修改的表或视图,FOR UPDATE OF语句无效

-512

56023

对远程对象的无效引用

-513

42924

一个别名不能再被定义成另外的别名

-514

26501

游标尚没有被准备

-516

26501

试图描述未准备好的SQL语句

-517

07005

因为SQL语句尚没有准备好,游标无效

-518

07003

试图执行尚没有准备好的SQL语句

-519

24506

当为游标的SQL语句发布一个准备语句是,游标不能是打开的

-525

51015

不能在已指定的程序包中执行SQL语句,因为在绑定时间内该程序包无效

-526

42995

在给定的上下文中,不能使用全局的临时表

-530

23503

对特定的约束名指定了无效的外健值

-531

23504

从版本5开始,父关键字的多行更新将试图删除一个外关键字依赖的父关键字值,在版本5以前,当引用主关键值外健值当前存在时,试图更新该主健值

-532

23504

删除操作违反了已指定的参照约束

-533

21501

多行插入无效,试图将多行插到自我引用的表中

-534

21502

可改变主健列值的更新语句不能在同一时刻用于更新多行

-535

21502

当从自我引用表中删除数据或者更新主健列时,不能指定WHERE CURRENT OF。不是版本5的子系统才调用该代码

-536

42914

因为某一特定表的参照约束存在,所以删除语句无效

-537

42709

在外健语句或主健语句的规范中,每个列的出现不能多于一次

-538

42830

无效的外健;不符合引用的表没有主健

-539

42888

不能定义外健,因为被引用的表没有主健

-540

57001

表定义不完整,直到为主健建立了唯一索引或UNIQUE语句、或者包含GENERATED BYDEFAULT属性的ROWID列

-542

42831

可以为空的列不允许作为主健的一部分包含在内

-543

23511

因为该表是指定了SET NULL删除规则的参照约束的父表而且检查约束不允许NULL,所以DELETE不能发生

-544

23512

不能用ALTER添加检查约束,因为已存在的某行与该检查约束冲突

-545

23513

INSERT或者UPDATE导致检查约束冲突

-546

42621

在CREATE或ALTER TABLE中指定的检查约束无效

-548

42621

因为指定的列而引起的检查约束无效

-549

42509

DYNAMICRULES(BIND)计划或程序包的无效SQL语句

-551

42501

用户试图对不拥有权限的特定的对象进行操作,或者表不存在

-552

42502

用户试图执行未被授权的操作

-553

42503

不能指定CURRENT SQLID,因为用户尚没有被允许改变那个ID

-554

42502

不能对你本身赋予一个权限

-555

42502

不能对你本身撤销一个权限

-556

42504

不能撤销用户没有拥有的权限

-557

42852

指定了不一致的授予或撤销关键词

-558

56025

为授予或撤销语句指定了无效的语句(一个或一组)

-559

57002

DB2权限机制已经禁用,授予或者撤销不能被发布

-567

42501

指定的权限ID缺少对指定的程序包的绑定权限

-571

25000

不允许多点更新

-573

42890

不能定义参照约束,因为已指定的父表中在指定的列上没有唯一健

-574

42864

指定的缺省与列定义冲突

-577

38002

试图修改用户自定义函数中的数据或者存储过程中的数据,但这些对象的建立没有选择MODIFIES SQL DATA选项

-579

38004

试图修改用户自定义函数中的数据或者存储过程中的数据,但这些对象的建立没有选择READ SQL DATA选项,也没有选择MODIFIES SQL DATA选项

-580

42625

CASE表达式中的结果表达式不能都是空的

-581

42804

CASE表达式中的结果表达式为不兼容的数据类型

-582

42625

SEARCHED-WHEN-CLAUSE中的查找条件指定了一个限定的、IN或EXISTS谓词

-583

42845

指定的函数失败,因为他不是决定性的,或者可能有外部动作

-585

42732

在当前路径中模式名不止一次出现

-586

42907

CURRENT PATH专用寄存器在长度上不能超过254字符

-587

428C6

项目引用的列表必须是同一个家族

-590

42734

在命名的存储过程或用户自定义的函数中的参数必须是独一无二的

-592

42510

没有授权权限,让你在WLM环境中建立的存储过程或者用户自定义函数

-601

42710

试图创建(或重命名)已经存在的对象

-602

54008

CREATE INDEX语句中指定的列太多

-603

23515

因为发现有重复值,所以不能建立唯一的索引

-604

42611

在CREATE或ALTER TABLE语句中的为数据类型指定的长度、精度以及标度无效

-607

42832

指定的INSERT、UPDATE或DELETE语句不能被发布,应为这些语句对DB2 CATLOG表执行写操作

-611

53088

当LOCKSIZE是TABLE或者TABLESPACE时,LOCKMAX必须为0

-612

42711

在同一个表、索引或试图中不允许有重复列名

-613

54008

主健或UNIQUE约束太长或者包含了太多的列

-614

54008

已经超过了索引的内部健长度的最大长度(255)限制

-615

55006

不能删除这个程序包,因为该程序包目前正在执行

-616

42893

指定的对象不能被删除,因为其他对象依赖于该对象

-617

56089

对于DB2版本6,1型索引无效。对于以前的版本,1型索引不能用LOCKSIZE ROW或LARGE表空间定义

-618

42832

对DB2 CATALOG表的请求操作时不允许的

-619

55011

DSNDB07不能修改,除非他先被停止了

-620

53001

对在DSNDB07中的表空间不允许指定该关键词

-621

58001

遇到了重复的DBID,遇到了系统问题

-622

56031

不能指定FOR MIXED DATA因为没有安装混合数据选项

-623

55012

不能为单一的表定义多个族索引

-624

42889

不能为单一的表定义多个主健

-625

55014

用主健定义的表要求唯一索引

-626

55015

不能发布ALTER语句来改变PRIQTY SECQTY或ERASE,除非先停止了表空间

-627

55016

不能发布ALTER语句来改变PRIQTY SECQTY或ERASE,除非先把表空间定义为使用存储器组的表空间

-628

42613

指定语句时相互排斥的(例如,不能分区一个分段的表空间)

-629

42834

因为该外健不能包含空值,所以SET NULL无效

-630

56089

不能为1型索引指定WHERE NOT NULL

-631

54008

无效的外健;要么是比254个字节长,要么包含的列数多于40

-632

42915

指定的删除规则禁止把这个表定义为已制定表的从属表

-633

42915

无效删除规则;必须使用特定的强制删除规则

-634

42915

在这种情况下,DELETE CASCADE不允许

-635

42915

删除规则不能有差异或者不能为SET NULL

-636

56016

在分区索引健的升序或降序规范中,分区所以必须与该规范一致

-637

42614

遇到重复的关键词

-638

42601

在CREATE TABLE语句中缺少列定义

-639

56027

带有SET NULL的删除规则的外健的可空列不能是分区索引的列

-640

56089

不能为这个表空间指定LOCKSIZE ROW,因为在该表空间中的表上定义了1型索引

-642

54021

唯一约束包含太多的列

-643

54024

检查约束超出了3800个字符的最大长度

-644

42615

在SQL语句中为关键词指定的值无效

-646

55017

在指定的分区表空间或者缺省表空间中不能创建表,因为指定的表空间已经包含了一个表

-647

57003

指定的缓冲池无效,因为他没有被激活

-650

56090

ALTER INDEX不能被执行;提供了原因代码

-651

54025

如果CREARE或ALTER TABLE被允许,表对象的描述词(object descriptor,OBD)将超过最大值(32KB)

-652

23506

遇到了EDITRPROC或VALIDPROC冲突

-653

57004

在分区表空间中的表不可用,因为分区索引尚未被创建

-655

56036

在卷的列表中,STOGROUP不能指定为特定的或不特定(“*”)的卷

-658

42917

当试图删除指定的对象时,无法删除该对象,该对象的删除必须通过删除与之相关联的对象完成

-660

53035

不正确的分区索引规范,必须为族索引定义有限制的关键字

-661

53036

分区索引没有指定恰当的分区数目

-662

53037

试图在未分区的表空间(分段的或简单的)上建立分区索引

-663

53038

为分区索引指定的关键字限制值是一个无效数字

-665

53039

为ALTER TABLESOACE语句指定了无效的PART语句

-666

57005

SQL语句不能被处理,因为指定的函数当前正处于进行过程中

-667

42917

不能明确的删除分区表空间的族索引,必须除去分区表空间来去掉分区索引

-668

56018

不能向用EDITPROC定义的表中添加列

-669

42917

不能显式的删除分区表空间中的表,必须删除分区表空间来删除表

-670

54010

表的记录长度超过了页面的大小

-671

53040

不能更改指定的表空间的缓冲池,因为这将改变表空间的页面大小

-672

55035

在命名的表上不允许DROP

-676

53041

只有4KB的缓冲池可被用于一个索引

-677

57011

缓冲池扩展失败,由于可用的虚拟内存的大小不足

-678

53045

为才分区索引中指定的限制健提供的值与数据类型不符

-679

57006

不能创建某一个特定对象,因为该对象的一个drop目前正在挂起

-680

54011

对DB2表不能超过750列

-681

23507

列违反了指定的FIELDPROC

-682

57010

不能载入FIELDPROC

-683

42842

列、单值类型、函数或者过程无效,因为不兼容语句。例如,指定的INTEGER具有FORBITDATA选项

-684

54012

指定的文字列表不能超过254个字节

-685

58002

FIELDPROC返回一个无效的域描述

-686

53043

用FIELDPROC定义的一个列不能与一个使用不同的FIELDPROC定义的列作比较

-687

53044

列不能与一个非兼容字段类型的列比较

-688

58002

返回不正确的数据

-689

54011

从属表定义了太多的列

-690

23508

数据定义的控制支持拒绝这个语句

-691

57018

命名的注册表不存在

-692

57018

命名的索引不存在,但命名的注册表需要该索引

-693

55003

命名的注册表/索引的命名列无效

-694

57023

DROP正在命名的注册表上挂起

-696

42898

由于相关的名字或者转换表的名字使用不正确,指定的触发器无效

-697

42899

FOR EACH语句被指定,因此与OLD合NEW相关的名字是不允许的,或者不能为一个BEFORE触发器指定OLD_TABLE和NEW_TABLE

-713

42815

指定的专用寄存器是无效的

-715

56064

命名的程序不能被运行,因为他依赖与你所安装的DB2版本的部件,但是你的数据中心没有安装这个部件

-716

56065

命名的程序使用这个版本的不正确的发行版本做了预编译

-717

56066

BIND失败,因为他依赖与你所安装的DB2版本的部件,但是你的数据中心没有安装这个部件

-718

56067

REBIND失败,因为IBMREQD列无效

-719

42710

不能BIND ADD一个已经存在的程序包

-720

42710

不能BIND REPLACE一个已经存在的程序包版本

-721

42710

程序包的一致性记号必须是独一无二的

-722

42704

绑定错误,因为指定的程序包不存在

-723

09000

一个触发的SQL语句接受到一个错误

-724

54038

达到了(16)级联间接的SQL语句的最大项目

-725

42721

对专门指定的寄存器提供了一个无效值

-726

55030

因为SYSPKSYSTEM条目,不能绑定这个程序包

-728

56080

指定的数据类型不能与私有协议发布一起使用

-729

429B1

用COMMIT ON RETURN定义的存储过程不能用作嵌套的CALL过程的目标

-730

56053

在只读的共享数据库中为表定义的参照完整性无效

-731

56054

VSAM数据集必须用SHAREOPTION(1.3)定义

-732

56055

被定义为只读型数据库却拥有没有定义空间或者索引空间的DB2子系统

-733

56056

只读共享数据库的定义不一致

-734

56057

一旦一个数据库被定义为ROSHARE READ,他将不能被更改为其他不同的ROSHARE状态

-735

55004

用DBID名称标识的数据库不再是一个只读共享数据库

-736

53014

命名的DBID无效

-737

53056

在这种状况下,不能建立一个隐含的表空间

-739

56088

因为同时指定了ALLOW PARALLEL和MODIELES SQL DATA这两个语句,因此已设定的函数将不能再被更改

-740

51034

在这种方式下不能用MODIELES SQL DATA定义指定的函数

-741

55030

已经为命名的共享组成员的数据定义了工作文件数据库

-742

53004

DSNDB07是隐含的工作文件数据库

-746

57053

在特定的触发器、存储过程或函数中的SQL语句违反嵌套SQL限制

-747

57054

指定的表是不可用的除非为LOB数据列建立起必须的辅助表

-748

54042

在指定的辅助表上已经有一个索引

-750

42986

不能对已指定的表重新命名,因为他至少在一个现存的视图或触发器中被引用

-751

42987

存储过程或用户自定义的函数试图执行一个不允许执行的SQL语句。DB2的线程被置于MUST_ROLLBACK状态

-752

0A001

无效CONNECT语句

-763

560A1

无效的表空间名

-764

560A2

LOB表空间必须与其相关的基表空间同在一个数据库中

-765

560A3

表和数据库不兼容

-766

560A4

不能对辅助表进行请求的操作

-767

42626

CREATE INDEX失败,因为在辅助表中为索引指定了列,或者因为没有为非辅助表的索引指定列

-768

560A5

不能为指定的列或者指定的分区建立辅助表,因为其辅助表已经存在

-769

53096

CREATE AUX TABLE的规格与基表不匹配

-770

530A6

指定的表必须有一个ROWID列,那么该表才可以包含一个LOB列

-771

428C7

无效的ROWID列规范

-797

42987

CREATE TRIGGER包含不被支持的语法

-798

428C9

不能把一个值插入到用GENERATED ALWAYS定义的ROWID列

-802

22012

某一特定操作发生了异常错误,被零除

-803

23505

不能插入行,因为这将违反唯一索引的约束

-804

07002

SQLDA的调用参数列表有误

-805

51002

在计划中没有发现DBRM或程序包名

-807

23509

对已指定的环境和连接,该程序包不可用

-808

08001

CONECT语句与程序中的第一个CONNECT语句不一致

-811

21000

当多行作为一内嵌的选择语句的返回结果是,必须使用游标

-812

22508

在CURRENT PACKAGESET中的ID集合是空白的,语句不能被执行

-815

42920

在一个内置选择语句或者一个基本谓词的子查询中,显式的或隐含的指定了GROUP BY或HAVING语句

-817

25000

执行SQL语句将可能导致禁止更新用户数据或DB2编目

-818

05103

划<->载入组件的时间戳不匹配,在执行计划中没有从同一个预编译中建立DBRM,该预编译是作为组件载入的

-819

58004

视图不能重建,因为在DB2编目中存储的分析树长度为0

-820

58004

在这个DB2版本的DB2编目中遇到了无效值

-822

51004

在SQLDA中遇到了无效地址

-840

54004

在选择列表或插入列表中返回的项目太多

-842

08002

到指定位置的连接已经存在

-843

08003

SET CONNECTION或RELEASE语句无法执行,因为连接不存在

-870

58026

宿主变量描述符的个数不等于语句中宿主变量的个数

-872

51302

这个子系统已指定了有效的CCSID

-873

53090

同一SQL语句中,不能同时引用EBCDIC表中的定义的列和ASCII表中定义的列

-874

53901

指定对象的编码方案与其表空间的编码方案不匹配

-875

42988

指定的操作符不能用于ASCII数据

-876

53092

不能为指定的原因创建对象:提供了原因代码

-877

53093

数据库或表空间不允许用ASCII,必须使用EBCDIC

-878

53094

该PLAN——TABLE不能是ASCII,必须使用EBCDIC

-879

53095

指定对象的CREATE或ALTER语句不能将列、单值类型,某个存储过程或用户自定义函数的参数定义为以下类型:MAXED DATA,GRAPHIC,VARGRAPHIC,LONGVARGRAPHIC,因为系统没有为指定的编码方案定义相应的CCSID

-900

08003

应用处理没有连接到应用服务器,语句不能被执行

-901

58004

遇到时断时续的系统错误,该错误不能抑制后继的SQL语句的执行

-902

58005

内部控制块的指针错误,要求重新绑定

-904

57011

指定的资源不可用

-905

57014

超出了资源上限

-906

51005

因为重大错误,SQL语句无法执行

-908

23510

当前资源限制设施的规范或者自动重绑定的系统参数不允许BIND,REBIND,AUTOREBIND

-909

57007

对象已被删除

-910

57007

因为在该对象上挂起DROP,所以不能访问该对象

-911

40001

当前工作单元已被回滚

-913

57033

因为死锁或超时导致不成功执行

-917

42969

绑定程序包已经失败

-918

51021

SQL语句不能被执行,因为连接丢失

-919

56045

需要一个ROLLBACK

-922

42505

连接权限失败。试图从TSO、CICS或IMS访问DB2,同时相应的连接设施处于非活动的状态

-923

57015

因为DB2不可用,所以不能建立连接

-924

58006

遇到了DB2内部的连接错误:提供了原因代码

-925

2D521

SQL的COMMIT语句不能从CICS或IMS/TM发布

-926

2D521

SQL的ROLLBACK语句不能从CICS或IMS/TM发布

-927

51006

当正在连接的环境没有建立时,语言接口被调用。利用DSN命令激发该程序

-929

58002

数据获取退出已经失败(DPROP)

-939

51021

由于远程服务器的未请求的回滚,要求一个回滚

-947

56038

SQL语句失败,因为更新不能被传播(DPROP)

-948

56062

DDF没有启动,分布式操作无效

-950

42705

在SQL语句中指定的位置在SYSIBM.LOCATIONS中没有定义

-965

51021

存储过程非正常终止(在DB2 6之前的版本)

-981

57015

当前不是处于允许SQL的状态时,试图在RRSAF中执行SQL

-991

57015

调用连接不能建立一个到DB2的隐含或开放连接

-1773

null

在 HADR 数据库下不支持的操作(如备库可能不支持写操作)

-2001

53089

为储存过程指定的宿主变量参数的个数不等于预期的参数个数

-20003

560A7

不能为GRECP中的表空间或索引指定GBPCACHE NONE

-20004

560A8

对于WORKFILE对象。8KB或16Kb的缓冲池页面大小无效

-20005

54035

指定的对象类型超出了内部的ID极限

-20006

53097

当没有指定WLM环境时,LOB不能被指定为参数

-20070

53098

不能非LOB列建立一个辅助表

-20071

53099

必须指定WLM环境名

-20072

56052

指定的权限ID不拥有在触发器程序包上执行BIND所需的权限

-20073

42927

不能按照指定的要求更改命名的函数,因为在现存的视图定义中引用了该函数

-20074

42939

不能建立指定的对象,因为“SYS”是一个保留的前缀

-20100

56059

在被触发的SQL语句中有BIND错误,指定了错误的SQLCODE和SQLSTATE

-20101

56059

由于指定的原因代码,该函数失败

-20102

42849

在CREATE或ALTER FUNCTION语句中不能使用指定的选项

-20104

42856

更改一个CCSID失败

-20106

42945

不能改变表空间或数据库的CCSID,因为现存的试图引用

-30000

58008

DRDA分布协议错误;处理可以继续

-30002

57057

使用DRDA的分布式客户把OPEN语句连接到PREPARE,但PREPARE接受到一个SQLCODE为+495的警告

-30020

58009

DRDA分布协议错误;对话被解除

-30021

58010

DRDA分布协议错误;处理不能继续

-30030

58013

违反分布协议:COMMIT不成功,对话被解除(AS)

-30040

57012

因为不能得到资源,执行失败,处理可以继续(AS)

-30041

57013

因为不能得到资源,执行失败,处理不能成功的继续(AS)

-30050

58011

执行不成功,在BIND过程中不能执行语句

-30051

58012

特定的BIND过程不是处于活动状态(远程BIND),从而导致失败

-30052

42932

程序准备的假设错误

-30053

42506

程序包的拥有者遭遇授权失败

-30060

08004

RBD遭遇授权失败

-30061

08004

指定了无效或者没有存在的RDB

-30070

58014

目标子系统不支持这个命令

-30071

58015

目标子系统不支持这个对象

-30072

58016

目标子系统不支持这个参数

-30073

58017

目标子系统不支持这个参数值

-30074

58018

应答信息不被支持

-30080

08001

SNA通信错误

-30081

58019

TCP/IP通信错误

-30082

08001

由于安全冲突、通信失败:提供了原因代码

-30090

25000

指定的操作对远程执行失败

-30104

56095

在绑定选项与绑定值中有错误

-30105

56096

指定的绑定选项不兼容


温馨提示:说实话,现在网上传的「DB2 错误代码大全」都是同一个版本,原始出处已经不祥,因此,博主也仅把自己参考的地址链接过来,聊表心意啦!没准,这份资料就是官方给出的呢?转载地址:http://xiaozpjava.iteye.com/blog/1341397

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励