1. 程式人生 > >db2 常見錯誤以及解決方案[ErrorCode SQLState]

db2 常見錯誤以及解決方案[ErrorCode SQLState]

綁定 不支持 generate replace 成功 sel 內存 one tables

操作數據庫流程中,遇到許多疑問,很多都與SQL CODE和SQL State有關,現在把一個完整的SQLCODE和SQLState不正確信息和有關解釋作以下說明,一來可以自己參考,對DB2不正確自行找出原由

sqlcode sqlstate 說明
格式說明:ErrorCode:-302 SQLState:22001

-------------------------------------------
000 00000 SQL語句成功完成
01xxx 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語句執行Exp LAIN
+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 ORDERBY語句中指定了無效數字,該數字要麽小於1要麽大於選定的列數
-126 42829 不能為一個UPDATE語句指定ORDER BY語句
-127 42905 在子選擇中DISTINCT只能指定一次
-128 42601 SQL謂詞中NULL運用不當
-129 54004 SQL語句中包含的表多於15個
-130 22019 ESCAPE語句必須為一個字符
22025 無效的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或LOCKTABLE



語句上指定一個不是表的其他對象這是無效的
-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不存在,Exp LAIN不能執行
-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 07001 宿主變量的個數不等於參數標識的個數
-314 42714 模糊的宿主變量引用
-327 22525 在最後分區的關鍵字範圍內,不能插入行
-330 22021 不能成功的翻譯字符串
-331 22021 字符串不能分配到宿主變量,因為其不能成功的被翻譯
-332 57017 不能為兩個命名的編碼字符集的ID定義翻譯準則
-333 56010 子類型無效導致翻譯失敗
-338 42972 ON語句無效,必須引用連接的列
-339 56082 訪問DB2 2.2版本的子系統被拒絕,原由時ASCII到EBCDIC翻譯不能執行
-350 42962 無效的大對象規範
-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 560A50 不能為指定的列或者指定的分區建立輔助表,因為其輔助表已經存在
-769 53096 CREATE AUX TABLE的規格與基表不匹配
-770 530A6 指定的表必須有一個ROWID列,那麽該表才可以包含一個LOB列
-771 428C7 無效的ROWID列規範
-797 42987 CREATE TRIGGER包含不被支持的語法
-798 428C9 不能把一個值插入到用GENERATED ALWAYS定義的ROWID列
-802 22012 某一特定操作發生了異常不正確。被零除
22003 某一特定操作發生了異常不正確。但不是被零除
-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 5103 計劃<->載入組件的時間戳不匹配,在執行計劃中沒有從同一個預編譯中建立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的隱含或開放連接
-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 指定的綁定選項不兼容

轉:http://blog.sina.com.cn/s/blog_a5b694540101f4st.html

db2 常見錯誤以及解決方案[ErrorCode SQLState]