SQLSTATE 訊息

kaiyinkaiyin發表於2011-09-05
全[@more@]

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

SQLSTATE 訊息 --&gt

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10957369/viewspace-1054769/,如需轉載,請註明出處,否則將追究法律責任。

相關文章