DB2 SQLSTATE 消息定義

 

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
0N SQL/XML 映射錯誤 表 13
20 找不到 CASE 語句的條件 表 15
21 基數違例 表 16
22 數據異常 表 17
23 約束違例 表 18
24 無效的遊標狀態 表 19
25 無效的事務狀態 表 20
26 無效 SQL 語句標識 表 21
28 無效權限規範 表 23
2D 無效事務終止 表 24
2E 無效連接名稱 表 25
34 無效的遊標名稱 表 26
36 遊標靈敏度異常 表 27
38 外部函數異常 表 28
39 外部函數調用異常 表 29
3B SAVEPOINT 無效 表 30
40 事務回滾 表 31
42 語法錯誤或訪問規則違例 表 32
44 WITH CHECK OPTION 違例 表 33
46 Java DDL 表 34
51 無效應用程序狀態 表 35
53 無效操作數或不一致的規範 表 36
54 超出 SQL 限制,或超出產品限制 表 37
55 對象不處於先決條件狀態 表 38
56 其他 SQL 或產品錯誤 表 39
57 資源不可用或操作員干預 表 40
58 系統錯誤 表 41
5U 實用程序 表 42

類代碼 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 該語句導致一個或多個表自動置於設置完整性暫掛狀態。
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 只讀事務中節點的時間差超過定義的閾值。
01608 已經替換了不受支持的值。
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 高速緩存的語句的環境與當前環境不同。將使用當前環境來重新優化指定的語句。
01674 表空間屬性對於查詢性能不是最佳的。
01675 指定的表空間數超過了需要的表空間數。多餘的表空間將被忽略。
01676 忽略了傳送操作,因爲授權標識已經是數據庫對象的所有者。
01677 對於已經定義了插件的服務器忽略了包裝器選項。
01678 對用戶映射的更改只應用於聯合目錄表,而不應用於外部用戶映射存儲庫。
01679 無法爲指定的授權標識建立可信連接。
01684 不支持指定的語言環境。返回的消息使用的是英語語言環境。
01686 表空間正在從 REGULAR 轉換爲 LARGE。必須對此表空間中的表的索引進行重組或重建,以便支持大型 RID。
01689 在未連接到數據源的情況下完成了 SQL 編譯。
0168A 在數據源上找不到源過程的程序包主體,或者它無效。
01H51 “MQSeries 應用程序消息傳遞接口”消息被截斷。
01H52 例程的執行已完成,但是執行期間至少遇到了一個錯誤或警告。提供了更多信息。
01H53 例程遇到了警告。參閱 SQLCODE 以獲取詳細信息。
01HXX 由用戶定義的函數或外部過程 CALL 返回了有效警告 SQLSTAE。

類代碼 02 無數據
表 5. 類代碼 02:無數據 SQLSTATE 值  
含義
02000 發生下述異常之一:
SELECT INTO 語句或 INSERT 語句的子查詢的結果爲空表。
在搜索的 UPDATE 或 DELETE 語句內標識的行數爲零。
在 FETCH 語句中引用的遊標位置處於結果表最後一行之後。
 
02501 遊標位置對於當前行的 FETCH 無效。
02502 檢測到刪除或更新孔
02506 遇到了錯誤,並且已按 RETURN DATA UNTIL 子句指定那樣容許它。

類代碼 07 動態 SQL 錯誤
表 6. 類代碼 07:動態 SQL 錯誤 SQLSTATE 值  
含義
07001 對於參數標記的數目來說,主機變量的數目不正確。
07002 調用參數列表或控制塊無效。
07003 在 EXECUTE 語句內標識的語句是一條 select 語句,或未處於已預編譯狀態。
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 語句不在處理程序中。

類代碼 0N SQL/XML 映射錯誤
表 13. 類代碼 0N:SQL/XML 映射錯誤 SQLSTATE 值  
含義
0N002 無法將字符映射至有效 XML 字符。

類代碼 10 XQuery 錯誤
表 14. 類代碼 10:XQuery 錯誤 SQLSTATE 值  
含義
10000 XQuery 錯誤。
10501 XQuery 表達式缺少靜態或動態上下文組件的指定。
10502 在 XQuery 表達式的序言中遇到了錯誤。
10503 在 XQuery 或 XPath 表達式中定義了重複的名稱。
10504 在無效 URI 中指定了 XQuery 名稱空間聲明。
10505 字符、標記或子句在 XQuery 表達式中缺少了或者無效。
10506 XQuery 表達式引用了一個未定義的名稱。
10507 處理 XPath 或 XQuery 表達式時遇到了類型錯誤。
10508 XQuery 表達式在已計算的構造函數中包括一個無效的名稱表達式。
10509 指定了不受支持的 XQuery 語言功能部件。
10510 未指定字符串文字作爲強制類型轉換表達式操作數或構造函數參數。
10601 在處理 XQuery 函數或運算符時遇到了算術錯誤。
10602 在處理 XQuery 函數或運算符時遇到了數據類型轉換錯誤。
10603 在處理 XQuery 函數或運算符時遇到了字符處理錯誤。
10604 未提供文檔上下文來處理 XQuery 函數。
10605 在處理 XQuery 函數或運算符時遇到了日期時間錯誤。
10606 沒有上下文項用來處理 XQuery 函數或運算符。
10607 在處理 XQuery 函數或運算符時遇到了名稱空間錯誤。
10608 在 XQuery 函數或運算符的參數中遇到了錯誤。
10609 在處理 XQuery 函數或運算符時遇到了正則表達式錯誤。
10610 在處理 XQuery 函數或運算符時遇到了類型錯誤。
10611 在處理 XQuery 函數或運算符時遇到了未標識的錯誤。
10901 XQuery 原子值超出了 DB2 XQuery 數據類型的範圍。
10902 XQuery 原子值超過了 DB2 XQuery 運算符或函數的長度限制。
10903 已超過相匹配的 XQuery 節點數的內部限制。

類代碼 20 找不到 CASE 語句的條件
表 15. 類代碼 20:找不到 Case 語句的條件 SQLSTATE 值  
含義
20000 找不到 CASE 語句的條件。

類代碼 21 基數違例
表 16. 類代碼 21:基數違例 SQLSTATE 值  
含義
21000 SELECT INTO 的結果是一個多行的結果表,或者,基本謂詞的子查詢結果爲多個值。
21501 對自引用表進行多行 INSERT 是無效的。
21502 主鍵的多行 UPDATE 是無效的。
21504 從刪除規則爲 RESTRICT 或 SET NULL 的自引用表進行多行 DELETE 是無效的。
21505 行函數返回的內容不能超過一行。 
21506 表的同一行不能是多個更新、刪除或插入操作的目標。

類代碼 22 數據異常
表 17. 類代碼22:數據異常 SQLSTATE 值  
含義
22001 字符數據,發生右截斷;例如,更新或插入值對於列來說太長(字符串),或者日期時間值由於太小而不能賦給主機變量。
22002 檢測到空值或缺少指示符參數;例如,不能將空值賦給主機變量,因爲沒有指定指示符變量。
22003 數值超出範圍。
22004 不能從定義爲 PARAMETER STYLE GENERAL 的過程或者從用非空參數調用的類型保留方法中返回空值。
22007 檢測到無效的日期時間格式;即指定了無效的字符串表示法或值。
22008 發生日期時間字段溢出;例如,對日期或時間戳記算術運算的結果不在有效日期範圍之內。
2200G 大多數特定類型都不匹配。
2200L XML 值不是具有單個根元素的結構良好的文檔。
2200M 未能將值作爲結構良好的 XML 文檔進行解析或者根據 XML 模式來驗證該值。
2200S XML 註釋無效。
2200T XML 處理指令無效。
2200W XML 值包含未能序列化的數據。
22011 發生子字符串錯誤;例如,SUBSTR 的參數超出範圍。
22012 用零作除數是無效的。
22018 對於 CAST、DECIMAL、FLOAT、或 INTEGER 標量函數,字符值是無效的。
22019 LIKE 謂詞有無效轉義字符。
22021 某字符不在編碼字符集中。
22024 以 NUL 結束的輸入主機變量或參數不包含 NUL。
22025 LIKE 謂詞字符串模式包含無效的轉義字符。
2202D 配合 mutator 方法使用了空實例。
2202H 在 TABLESAMPLE 子句中指定的樣本大小無效。
22501 變長字符串的長度控制字段爲負值或大於最大值。
22504 混合數據值是無效的。
22506 對日期時間專用寄存器的引用無效,因爲 TOD 時鐘發生故障或操作系統時區參數超出範圍。
22522 CCSID 值根本無效,對數據類型或子類型無效,或對編碼方案無效。
22525 數據分區鍵值無效。
22526 鍵變換函數沒有生成任何行或生成了重複的行。
22527 對多行 INSERT 操作檢測到了無效的輸入數據。
22532 在 XML 模式存儲庫中未找到 XSROBJECT。
22533 在 XML 模式存儲庫中未找到唯一的 XSROBJECT。
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 模式以進行分解。

類代碼 23 約束違例
表 18. 類代碼 23:約束違例 SQLSTATE 值  
含義
23001 RESTRICT 更新或刪除規則防止父鍵被更新或刪除。
23502 插入或更新值爲空,但該列不能包含空值。
23503 外鍵的插入或更新值無效。
23504 NO ACTION 更新或刪除規則防止父鍵被更新或刪除。
23505 發生由唯一索引或唯一約束強加的約束違例。
23510 使用由 RLST 表強加的命令時發生約束違例。
23511 不能刪除父行,因爲檢查約束限制該刪除。
23512 不能添加檢查約束,因爲該表含有不滿足約束定義的行。
23513 INSERT 或 UPDATE 的結果行不符合檢查約束定義。
23514 檢查數據處理中發現約束違例。
23515 未能創建唯一索引,或者不能添加唯一約束,因爲該表包含指定鍵的重複值。
23520 不能定義外鍵,因爲其所有的值都不同於父表的父鍵。
23521 對目錄表的更新違反了內部約束。
23522 標識列值的範圍或者序列用完。
23523 已經爲安全標號列提供了無效值。
23524 UNION ALL 視圖內的無效行移動。
23525 未能插入或更新 XML 值,這是因爲在插入或更新 XML 列的索引期間檢測到錯誤。
23526 未能創建 XML 列的索引,因爲在將 XML 值插入到索引中時檢測到錯誤。

類代碼 24 無效的遊標狀態
表 19. 類代碼 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 無效的事務狀態
表 20. 類代碼 25:無效的事務狀態 SQLSTATE 值  
含義
25000 插入、更新或刪除操作在指定它的上下文中無效。
25001 該語句只允許作爲工作單元的第一條語句。
25501 該語句只允許作爲工作單元的第一條語句。
25502 操作在單個事務中不能多次出現。

類代碼 26 無效 SQL 語句標識
表 21. 類代碼 26:無效 SQL 語句標識 SQLSTATE 值  
含義
26501 標識的語句不存在。

類代碼 27 觸發的數據更改違例
表 22. 類代碼 27:觸發的數據更改違例 SQLSTATE 值   含義
27000 試圖在同一 SQL 語句中多次更改同一個表中的同一行。

類代碼 28 無效權限規範
表 23. 類代碼 28:無效權限規範 SQLSTATE 值  
含義
28000 權限名稱無效。

類代碼 2D 無效事務終止
表 24. 類代碼 2D:無效事務終止 SQLSTATE 值  
含義
2D521 SQL COMMIT 或 ROLLBACK 在當前操作環境中無效。
2D522 ATOMIC 複合語句中不允許 COMMIT 和 ROLLBACK。
2D528 動態 COMMIT 對於應用程序執行環境無效。
2D529 動態 ROLLBACK 對於應用程序執行環境無效。

類代碼 2E 無效連接名稱
表 25. 類代碼 2E:無效連接名稱 SQLSTATE 值  
含義
2E000 連接名稱無效。

類代碼 34 無效的遊標名稱
表 26. 類代碼 34:無效的遊標名稱 SQLSTATE 值  
含義
34000 遊標名無效。

類代碼 36 無效遊標規範
表 27. 類代碼 36:無效遊標規範 SQLSTATE 值  
含義
36001 不能爲指定的 SELECT 語句定義敏感遊標。

類代碼 38 外部函數異常
表 28. 類代碼 38:外部函數異常 SQLSTATE 值  
含義
38XXX 外部例程或觸發器返回有效錯誤 SQLSTATE。
38001 不允許外部例程執行 SQL 語句。
38002 例程嘗試修改數據,但例程未定義爲 MODIFIES SQL DATA。
38003 例程中不允許該語句。
38004 例程嘗試讀取數據,但例程未定義爲 READS SQL DATA。
38501 (使用 SIMPLE CALL 或 SIMPLE CALL WITH NULLS 調用約定)調用用戶定義的函數、外部過程或觸發器時出錯。
38502 不允許外部函數執行 SQL 語句。
38503 用戶定義的函數異常終止(abend)。
38504 用戶定義的函數已被用戶中斷,以停止可能的循環條件。
38505 FINAL CALL 上的例程中不允許 SQL 語句。
38506 函數因來自 OLE DB 提供程序的錯誤而失敗。
38552 SYSFUN 模式(由 IBM 提供)中的函數已異常終止。
可以在消息正文中找到下列原因碼之一:

01
數值超出範圍
02
被零除
03
算術溢出或下溢
04
日期格式無效
05
時間格式無效
06
時間戳記格式無效
07
時間戳記持續時間的字符表示法無效
08
時間間隔類型無效(必須是 1、2、4、8、16、32、64、128、256 之一)
09
字符串太長
10
字符串函數中的長度或位置超出範圍
11
浮點數的字符表示法無效 
38553 系統模式中的例程已因錯誤而終止。
38H01 MQSeries 函數未能初始化。
38H02 MQSeries 的“應用程序消息傳遞接口”未能終止會話。
38H03 MQSeries 的“應用程序消息傳遞接口”未能正確地處理消息。
38H04 MQSeries 的“應用程序消息傳遞接口”未能發送消息。
38H05 MQSeries 的“應用程序消息傳遞接口”未能讀取/接收消息。
38H06 MQSeries 的“應用程序消息傳遞接口”預訂(不預訂)請求失敗。
38H07 MQSeries 的“應用程序消息傳遞接口”未能落實工作單元。
38H08 MQSeries 的“應用程序消息傳遞接口”策略錯誤。
38H09 MQSeries XA(兩階段落實)API 調用錯誤。
38H0A MQSeries 的“應用程序消息傳遞接口”未能回滾工作單元。

類代碼 39 外部函數調用異常
表 29. 類代碼 39:外部函數調用異常 SQLSTATE 值  
含義
39001 用戶定義的函數已返回無效 SQLSTATE。
39004 不允許 IN 或 INOUT 參數爲空值。
39501 與參數相關聯的 eye-catcher(引人注目的事物)已被修改。

類代碼 3B SAVEPOINT 無效
表 30. 類代碼 3B:SAVEPOINT 無效 SQLSTATE 值  
含義
3B001 保存點無效。
3B002 已經達到最大保存點數目。
3B501 檢測到重複的保存點名。
3B502 指定了 RELEASE 或 ROLLBACK TO SAVEPOINT,但是保存點不存在。
3B503 在觸發器或全局事務中不允許 SAVEPOINT、 RELEASE SAVEPOINT 或 ROLLBACK TO SAVEPOINT。

類代碼 40 事務回滾
表 31. 類代碼 40:事務回滾 SQLSTATE 值  
含義
40001 發生了伴隨自動回滾的超時或死鎖。
40003 語句完整性未知。
40504 由於系統錯誤導致工作單元被回滾。
40506 由於 SQL 錯誤,當前事務已回滾。
40507 由於創建索引時發生故障,因此當前事務已回滾。

類代碼 42 語法錯誤或訪問規則違例
表 32. 類代碼 42:語法錯誤或訪問規則違例 SQLSTATE 值  
含義
42501 授權標識不具有對標識對象執行指定操作的特權。
42502 授權標識不具有執行指定操作的特權。
42504 無法從指定的權限名撤銷指定的特權、安全標號或免除憑證。
42506 發生所有者授權失敗。
42508 不能將指定的數據庫特權授予 PUBLIC。
42509 因爲 STATICRULES 選項而未授權 SQL 語句。
42511 未能檢索 DATALINK 值。
42512 授權標識對受保護列沒有訪問權。
42514 授權標識不具有對象的所有權需要的特權。
42516 用戶映射存儲庫中的認證失敗。
42519 不允許此授權標識對受保護表執行操作。
42520 由於此授權標識沒有安全標號,所以無法執行內置函數。
42521 無法將權限或特權授予指定的授權標識。
42522 此授權標識沒有憑證,因此無法保護列或者對該列除去保護。
42601 字符、標記或子句無效或丟失。
42602 檢測到名稱中有無效字符。
42603 檢測到未終止的字符串常量。
42604 檢測到無效數字或字符串常量。
42605 爲標量函數指定的參數的數目無效。
42606 檢測到無效十六進制常數。
42607 列函數的操作數無效。
42608 在 VALUES 中使用 NULL 或 DEFAULT 是無效的。
42609 運算符或謂詞的所有操作數都是參數標記。
42610 不允許參數標記。
42611 列或參數定義無效。
42612 語句字符串是一條 SQL 語句,它在它所出現的上下文中是不可接受的。
42613 子句互斥。
42614 重複關鍵字無效。
42615 檢測到無效備用項。
42616 指定了無效的選項。
42617 語句字符串是空白或空的。
42618 不允許主機變量。
42620 對 UPDATE 子句指定了只讀 SCROLL。
42621 檢查約束無效。
42622 名稱或標號太長。
42623 不能指定 DEFAULT 子句。
42625 CASE 表達式無效。
42627 必須在使用 EXPRESSION AS 子句的謂詞規範之前指定 RETURNS 子句。
42628 在變換定義中多次定義了 TO SQL 或 FROM SQL 變換函數。
42629 必須爲 SQL 例程指定參數名。
42630 在嵌套複合語句中不能存在 SQLSTATE 或 SQLCODE 變量聲明。
42631 SQL 函數或方法中的 RETURN 語句必須包括返回值。
42633 XMLATTRIBUTES 或 XMLFOREST 的參數需要 AS 子句。
42634 XML 名稱無效。
42635 XML 名稱空間前綴無效。
42636 缺少 BY REF 子句,或者不正確使用了該子句。
42637 無法在 DECLARE CURSOR 語句中指定 XQuery 表達式。
42701 在插入或更新操作或 SET 轉換變量語句中檢測到重複列名。
42702 由於名稱重複,列引用有歧義。
42703 檢測到一個未定義的列、屬性或參數名。 
42704 檢測到未定義的對象或約束名。
42705 檢測到未定義的服務器名。
42707 ORDER BY 內的列名不標識結果表中的列。
42709 在鍵列列表中指定了重複的列名。
42710 檢測到重複的對象或約束名。
42711 在對象定義或 ALTER 語句中檢測到重複列名或屬性名。
42712 在 FROM 子句中檢測到重複的表標誌符。
42713 在對象列表中檢測到重複對象。
42720 在節點目錄內未找到遠程數據庫的節點名。
42723 模式中已經存在帶有相同特徵符的函數。
42724 不能訪問用於用戶定義的函數或過程的外部程序。
42725 直接引用了例程(不是通過特徵符或者通過特定實例名進行引用),但是該例程有多個特定實例。
42726 檢測到指定的派生表的名稱重複。
42727 對新表來說,不存在缺省主表空間。
42728 在節點組定義中檢測到重複節點。
42729 節點未定義。
42730 容器名已由另一表空間使用。
42731 容器名已由該表空間使用。
42732 在 SET CURRENT PATH 語句中檢測到重複的模式名。
42734 檢測到重複的參數名、SQL 變量名、遊標名、條件名或標號。
42735 對緩衝池,未定義表空間的節點組。
42736 在 LEAVE 語句上指定的標號找不到或無效。
42737 未定義在處理程序中指定的條件。
42738 在 FOR 語句的 DECLARE CURSOR 語句中指定了重複的列名或未命名的列。
42739 檢測到重複的變換。
42740 未找到指定類型的變換。未刪除任何變換。
42741 未對數據類型定義變換組。
42742 類型表或帶類型視圖層次結構中已存在同類子表或子視圖。
42743 在索引擴展名中未找到搜索方法。 
42744 在變換組中未定義 TO SQL 或 FROM SQL 變換函數。
42745 例程將用現有方法定義覆蓋關係。
42746 在同一類型層次結構中,方法名不能與結構化類型名相同。
42748 存儲路徑對於數據庫來說已存在或者被指定了多次。
42749 對於 XML 模式來說,已經存在具有相同目標名稱空間和模式位置的 XML 模式文檔。
4274A 在 XML 模式存儲庫中未找到 XSROBJECT。
4274B 在 XML 模式存儲庫中未找到唯一的 XSROBJECT。
4274F 在安全標號組件中未定義組件元素。
4274G 在給定安全標號所使用的安全標號策略中未定義安全標號組件。
4274H 指定的安全策略不存在指定的訪問規則。
4274I 指定的安全策略不存在安全標號。
4274J 數據庫分區組已被此緩衝池使用。
42802 插入或更新值的數目與列數不相同。
42803 在 SELECT 或 HAVING 子句中的列引用無效,因爲它不是分組列;或者在 GROUP BY 子句中的列引用無效。
42804 CASE 表達式中的結果表達式不兼容。
42805 ORDER BY 子句中的整數不標識結果表中的列。
42806 不能將某值賦予某主機變量, 因爲數據類型不兼容。
42807 對該對象不允許執行 INSERT、UPDATE 或 DELETE。
42808 插入或更新操作中標識的列不可更新。
42809 標識的對象不是語句所應用的對象類型。
42810 FOREIGN KEY 子句中沒有標識基本表。
42811 指定的列數與 SELECT 子句中的列數不相同。
42813 WITH CHECK OPTION 不能用於指定的視圖。
42814 無法刪除該列,因爲它是表中唯一的列。
42815 數據類型、長度、小數位、值或 CCSID 無效。
42816 表達式中的日期時間值或持續時間無效。
42817 由於某個視圖或約束依賴於該列,並且指定了 RESTRICT,或者由於該列包含在分區鍵中,或者由於該列是安全標號列,所以無法刪除該列。
42818 運算符或函數的操作數不兼容或者不可比較。
42819 算術運算的操作數或需要數字的函數的操作數不是數字。
42820 數字常數太長,或其值不在該數據類型取值範圍內。
42821 更新或插入值與列不兼容。
42823 從僅允許一列的子查詢中返回了多列。
42824 LIKE 的操作數不是字符串,或第一個操作數不是列。
42825 UNION、INTERSECT、EXCEPT 或 VALUES 的行沒有兼容列。
42826 UNION、INTERSECT、EXCEPT 或 VALUES 的行的列數不相同。
42827 UPDATE 或 DELETE 中標識的表與遊標指定的表不相同。
42828 由 UPDATE 或 DELETE 語句的遊標指定的表不能修改,或該遊標是隻讀遊標。
42829 FOR UPDATE OF 無效,因爲由該遊標指定的結果表不能修改。
42830 外鍵不符合父鍵的描述。
42831 主鍵或唯一鍵列不允許空值。
42832 不允許對系統對象執行該操作。
42834 不能指定 SET NULL,因爲不能對外鍵的任何列指定空值。
42835 在指定的派生表之間不能指定循環引用。
42836 指定的遞歸派生表的規範無效。
42837 不能改變該列,原因是它的屬性與當前的列屬性不兼容。
42838 檢測到無效使用了表空間。
42839 索引和長列不能處於與該表獨立的表空間內。
42840 檢測到無效使用了 AS CAST 選項。
42841 參數標記不能是用戶定義的類型或引用類型。
42842 列定義無效,因爲指定的選項與列描述不一致。
42845 檢測到無效使用了 VARIANT 或 EXTERNAL ACTION 函數。
42846 不支持從源類型到目標類型的強制類型轉換。
42849 外部例程不支持所指定的選項。
42852 在 GRANT 或 REVOKE 中指定的特權無效或不一致。(例如,視圖上的 GRANT ALTER。)
42853 指定了選項的兩個備用項,或者同一選項被指定了多次。
42854 選擇列表中的結果列數據類型與在帶類型視圖或具體化查詢表定義中定義的類型不兼容。
42855 不允許對此主機變量指定 LOB。此遊標的 LOB 值的所有訪存的目標主機變量必須是定位器或 LOB 變量。
42858 不能將該操作應用於指定對象。
42863 檢測到 REXX 中有未定義的主機變量。
42866 在 CREATE FUNCTION 語句的 CAST FROM 子句中的 RETURNS 子句的數據類型對於有源函數或函數體中的 RETURN 語句返回的數據類型不適合。
42867 指定了衝突的選項。
42872 FETCH 語句子句與遊標定義不兼容。
42875 要在 CREATE SCHEMA 中創建的對象的限定符必須與模式名相同。
42877 不能限定該列名。
42878 無效的函數或過程名稱與 EXTERNAL 關鍵字一起使用。
42879 在 CREATE FUNCTION 語句中一個或多個輸入參數的數據類型對於源函數中相應的數據類型不適合。
42880 CAST TO 和 CAST FROM 數據類型不兼容,或總會導致固定字符串截斷。
42881 使用基於行的函數無效。
42882 特定實例名限定符與函數名限定符不相同。
42883 找不到具有匹配特徵符的例程。
42884 找不到具有指定名稱和兼容參數的任何例程。
42885 在 CREATE FUNCTION 語句中指定的輸入參數數目與 SOURCE 子句中指定的函數所提供的參數數目不匹配。
42886 IN、OUT 或 INOUT 參數屬性不匹配。
42887 在該函數出現的上下文中該函數無效。
42888 表沒有主鍵。
42889 該表已有主鍵。
42890 在引用子句中指定了列表,但是標識的父表沒有指定列名的唯一約束。
42891 重複的 UNIQUE 約束已存在。
42893 無法刪除、改變或傳輸該對象或約束,或者無法從對象中撤銷權限,因爲還有其他對象依賴於該對象。
42894 DEFAULT 值無效。
42895 對於靜態 SQL,不能使用輸入主機變量,因爲其數據類型與過程或用戶定義的函數的參數不兼容。
428A0 用戶定義的函數所基於的有源函數出錯。
428A1 不能訪問主機文件變量所引用的文件。
428A2 表不能指定給多節點節點組,因爲它沒有分區鍵。
428A3 爲事件監視器指定了無效路徑。
428A4 爲事件監視器選項指定了無效值。
428A5 在 SET INTEGRITY 語句中指定的異常表結構不正確,或者已用生成的列、約束或觸發器定義了該異常表。
428A6 在 SET INTEGRITY 語句中指定的異常表不能與正在檢查的表之一相同。
428A7 檢查的表數目與在 SET INTEGRITY 語句中指定的異常表數目不匹配。
428A8 在父表或底層的表處於設置完整性暫掛狀態時,不能對派生表使用 SET INTEGRITY 語句復位設置完整性暫掛狀態。
428A9 節點範圍無效。
428AA 列名不是事件監視器表的有效列。
428B0 在 ROLLUP、CUBE 或 GROUPING SETS 中有非法嵌套。
428B1 未指定給特定節點的表空間容器的規範數目不正確。
428B2 容器的路徑名無效。
428B3 指定了無效的 SQLSTATE。
428B7 在 SQL 語句中指定的編號不在有效範圍內。
428BO 不能爲聯合數據源創建方案。
428C0 不能刪除該節點,因爲它是節點組中唯一的節點。
428C1 只能爲表指定一個 ROWID、IDENTITY 或安全標號列。
428C2 檢查函數體指出應已在 CREATE FUNCTION 語句中指定給出的子句。
428C4 謂詞運算符兩邊的元素的數目不相同。
428C5 從數據源中找不到數據類型的數據類型映射。
428C9 不能將 ROWID 列指定爲 INSERT 或 UPDATE 的目標列。
428CA 處於追加方式的表不能具有集羣索引。
428CB 表空間的頁大小必須與相關聯的緩衝池的頁大小相匹配。
428D1 不能訪問 DATALINK 值所引用的文件。
428D4 在 OPEN、CLOSE 或 FETCH 語句中不能引用在 FOR 語句中指定的遊標。
428D5 結束標號與開始標號不匹配。
428D6 NOT ATOMIC 語句不允許 UNDO。
428D7 不允許條件值。
428D8 SQLSTATE 或 SQLCODE 變量的聲明或使用無效。
428DB 作爲超類型、超表或超視圖,該對象無效。 
428DC 對於此類型的變換,該函數或方法無效。
428DD 未定義要求的變換。
428DE PAGESIZE 值不受支持。
428DF 在 CREATE CAST 中指定的數據類型無效。
428DG 在 CREATE CAST 中指定的函數無效。
428DH 操作對於類型表無效。
428DJ 不能更改或刪除繼承列或屬性。
428DK 已定義引用列的作用域。
428DL 外部函數或有源函數的參數已定義了作用域。
428DM 作用域表或視圖對於引用類

型無效。
428DN 未在外部函數的 RETURNS 子句中指定 SCOPE,或在有源函數的 RETURN 子句中指定了 SCOPE。
428DP 該類型不是結構化類型。
428DQ 子表或子視圖的模式名不能與其上一級表或上一級視圖的模式名不同。
428DR 無法將操作應用於子表或子視圖。
428DS 不能在子表中定義指定列的索引。 
428DT 表達式的操作數不是有效的作用域引用類型。
428DU 要求的類型層次結構中不包括的一種類型。 
428DV 解析引用運算符的左操作數無效。
428DW 不能使用解析引用運算符來引用對象標識列。
428DX 對象標識列是定義一個類型表或帶類型視圖層次結構的根表或根視圖所必需的。
428DY 不能對目標對象類型更新統計信息。
428DZ 不能更新對象標識列。
428E0 索引的定義與索引擴展名的定義不匹配。
428E1 用於產生範圍的表函數的結果與索引擴展名的鍵變換表函數的結果不一致。
428E2 目標鍵參數的數目或類型與索引擴展名的鍵變換函數的數目或類型不匹配。
428E3 索引擴展名中函數的參數無效。
428E4 函數在 CREATE INDEX EXTENSION 語句中不受支持。
428E5 只能用用戶定義的謂詞來指定 SELECTIVITY 子句。
428E6 用戶定義的謂詞中的方法的搜索參數與索引擴展名的相應搜索方法的搜索參數不匹配。
428E7 用戶定義的謂詞中跟在比較運算符後的操作數類型與 RETURNS 數據類型不匹配。
428E8 搜索目標或搜索參數參數與正在創建的該函數的參數名不匹配。
428E9 在相同的使用規則中參數的參數名不能同時作爲搜索目標和搜索參數。
428EA 帶類型視圖中的全查詢無效。
428EB 當上一級視圖中的某一列爲可更新時,子視圖中相應的列不能是隻讀的。
428EC 爲具體化查詢表指定的全查詢無效。
428ED 不能構造具有 Datalink 或 Reference 類型屬性的結構化類型。
428EE 選項對此數據源無效。
428EF 該選項的值對此數據源無效。
428EG 丟失此數據源所必需的選項。
428EH 不能 ADD 已定義的選項。
428EJ 不能 SET 或 DROP 尚未添加的選項。
428EK 已聲明的全局臨時表名的限定符必須是 SESSION。
428EL 變換函數不能與函數或方法一起使用。
428EM TRANSFORM GROUP 子句是必需的。
428EN 變換組被指定爲未使用。
428EP 結構化類型不能直接或間接依賴於它本身。
428EQ 例程的返回類型與主題類型不同。
428ER 在刪除方法主體之前,不能刪除方法規範。
428ES 方法主體與方法規範的語言類型不對應。
428EU 在服務器定義中未指定 TYPE 或 VERSION。
428EV 對於該數據源類型,傳遞(Pass-Through)功能不受支持。
428EW 表不能與具體化查詢表互相轉換。
428EX 例程不能用作變換函數,因爲它是內置函數或方法。
428EY 用戶定義的謂詞中搜索目標的數據類型與指定索引擴展名的源鍵的數據類型不匹配。
428EZ OLAP 函數的窗口規範無效。
428F0 ROW 函數必須包括至少兩列。
428F1 SQL TABLE 函數必須返回表結果。
428F2 SQL 過程中的 RETURN 語句值的數據類型必須是 INTEGER。
428F3 SCROLL 與 WITH RETURN 是互斥的。
428F4 在 FETCH 上指定的 SENSITIVITY 不允許用於遊標。
428F6 遊標是可滾動的,但結果表涉及來自表函數的輸出。
428F7 嘗試對外部例程進行的操作僅應用於 SQL 例程。
428F9 在此上下文中不能指定序列表達式。
428FA 十進制數的小數位必須爲零。
428FB 序列名不能是由系統爲標識列生成的序列。
428FC 加密密碼的長度無效。
428FD 用於解密的密碼與加密數據時所使用的密碼不匹配。
428FE 數據不是 ENCRYPT 函數的結果。
428FF 緩衝池規範無效。
428FG 登臺表或具體化查詢表定義無效。
428FH SET INTEGRITY 選項無效
428FI 指定了 ORDER OF,但表標誌符不包含 ORDER BY 子句。
428FJ 視圖或具體化查詢表的外部全查詢不允許使用 ORDER BY。
428FL 在指定 SQL 數據更改語句的上下文中,不允許 SQL 數據更改語句。
428FM SELECT 中的 INSERT 語句指定了一個不是對稱視圖的視圖。
428FP 只允許將一個 INSTEAD OF 觸發器用於對主題視圖的每種操作。
428FQ INSTEAD OF 觸發器不能指定使用 WITH CHECK OPTION 定義的視圖、在使用 WITH CHECK OPTION 定義的另一個視圖上定義的視圖或者嵌套在使用 WITH ROW MOVEMENT 子句定義的視圖中的視圖。
428FT 表與指定的數據分區操作不兼容。
428FU 從 FROM SQL 變換函數或方法返回的內置類型與 TO SQL 變換函數或方法的相應內置類型不匹配。
428FV 不能將方法定義爲覆蓋方法。
428FZ 僅爲某些操作定義了 INSTEAD OF 觸發器的視圖不能在 MERGE 語句中用作目標。
428G1 數據分區數超過了表的表空間數。
428G2 無法從表中刪除最後一個數據分區。
428G3 當全查詢中的 SQL 數據更改語句的目標視圖定義了 INSTEAD OF 觸發器時,FINAL TABLE 無效。
428G4 無效使用了 INPUT SEQUENCE 排序。
428G5 UPDATE 語句的賦值子句必須至少指定不是 INCLUDE 列的一列。
428G6 指定了不能從全查詢的 FROM 子句中的數據更改語句的目標中選擇的一列。
428G8 不能啓用視圖以進行查詢優化。
428GA 不能添加、刪除或改變聯合選項。
428GD PARTITION BY 子句必須指定單個列,並且它必須與 ORGANIZE BY 子句的第一列相同。
428GE 源表無法連接至分區目標表。
428GG 無效使用了容許錯誤的嵌套表表達式。
428GO 列選項在透明 DDL 語句中無效。
428GI XML 模式不完整,因爲缺少 XML 模式文檔。
428GP 無法爲類型爲 ARRAY 的組件指定多個元素。
428GR 已經將具有相同訪問類型(READ 或 WRITE)的安全標號授予給授權標識。
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 容器不能添加至該表空間。
42925 指定的遞歸派生表不能指定 SELECT DISTINCT,而必須指定 UNION ALL。
42928 不能爲該表指定 WITH EMPTY TABLE。
42932 程序預編譯假設不正確。
42939 不能使用該名稱,因爲指定的標識是保留給系統使用的。
42961 指定的服務器名與當前服務器不匹配。
42962 長列、LOB 列、XML 列或結構化類型列不能用於索引、鍵或約束。
42963 指定的安全標號列無效。
42968 連接失敗,因爲沒有當前軟件許可證。
42969 未創建程序包。
42972 MERGE 語句的連接條件或 ON 子句中的表達式引用多個操作數表中的列。
42985 例程中不允許該語句。
42987 不允許此語句出現在過程或觸發器中。
42989 使用表達式生成的列或者安全標號列不能在前觸發器中使用。
42990 不允許唯一索引或唯一約束,因爲鍵列不是分區鍵列的超集。
42991 BOOLEAN、BINARY 和 VARBINARY 數據類型當前僅在內部受支持。
42993 定義的列太大而不能記錄。
42994 不支持原始設備容器。
42995 所請求的函數不應用於全局臨時表。
42997 此版本的 DB2 應用程序請求器、DB2 應用程序服務器或兩者的組合不支持該功能。
429A1 節點組對於表空間無效。
429A9 SQL 語句不能由 DataJoiner 處理。
429B2 爲結構化類型或列指定的直接插入長度值太小。
429B3 可能未在子表中定義對象。
429B4 數據過濾函數不能是 LANGUAGE SQL 函數。
429B5 索引擴展名中實例參數的數據類型無效。
429B8 用 PARAMETER STYLE JAVA 定義的例程不能具有作爲參數類型或返回類型的結構化類型。
429B9 在屬性賦值中不能使用 DEFAULT 或 NULL。
429BA FEDERATED 關鍵字必須與對聯合數據庫對象的引用配合使用。
429BB 在 SQL 例程中不支持對參數或變量指定的數據類型。
429BC 在 ALTER TABLESPACE 語句中有多個容器操作。
429BE 主鍵或唯一鍵是維子句中的列的子集。
429BG 範圍集羣表不支持該函數。
429BH 分區表定義包含不受支持的列定義,該列可能是標識列、DATALINK 列或 XML 列。
429BJ 在視圖中無效使用了 WITH ROW MOVEMENT。
429BK 由於移動行涉及到基礎視圖,因此,嘗試更新視圖無效。
429BL 在非法上下文中調用了將修改 SQL 數據的函數。
429BO 不能爲聯合數據源創建方案。
429BP 暱稱列表達式無效。
429BS 涉及到 XMLPATTERN 子句或使用數據類型 XML 定義的列的索引定義無效。
429BT 由於存在依賴性而使得轉移所有權失敗。
429BU 無法訪問插件的用戶映射存儲庫中的用戶映射。
429BZ 由於其中一個底層表受保護,所以對 UNION ALL 視圖執行的更新、刪除或插入操作失敗。
429C0 查詢必須包含使用了所指示的列的謂詞。

 

類代碼 44 WITH CHECK OPTION 違例
表 33. 類代碼 44:WITH CHECK OPTION 違例 SQLSTATE 值  
含義
44000 不允許插入或更新操作,因爲結果行不滿足視圖定義。

類代碼 46 Java DDL
表 34. 類代碼 46:Java DDL SQLSTATE 值  
含義
46001 Java DDL - 無效 URL。
46002 Java DDL - 無效 jar 名稱。
46003 Java DDL - 無效類刪除。
46007 Java DDL - 無效特徵符。
46008 Java DDL - 無效方法規範。
46103 Java 例程遇到了 ClassNotFound 異常。
46501 Java DDL - 未實現可選組件。

類代碼 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 僅供開發使用。在交付代碼之前必須更改它。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章