數據提供者會以 SQLSTATE、SQLCODE、原因碼和錯誤文字的形式傳回錯誤,格式為 OLE DB IErrorInfo 介面的一部分。 數據提供者會使用分散式關係資料庫架構 (DRDA) 通訊協定和格式連接到 DB2 資料庫伺服器。 數據提供者會傳回 SQLSTATE HY000 或 08S01 中的 DRDA 通訊協議問題,以及相關聯的 SQLCODE 錯誤和文字。 下表列出DRDA錯誤。 如需DRDA通訊協議問題的其他資訊,請參閱Open Group (http://www.opengroup.org) 所發佈的DRDA通訊協定檔。 您可以從 開放群組書籍存放區 下載DRDA V5第3卷:分散式數據管理架構、出版物號碼 C114(https://go.microsoft.com/fwlink/?LinkID=219127&clcid=0x409)。
DRDA 通訊協定錯誤
下表列出DRDA通訊協定錯誤常數、值、SqlState、SqlCode 和錯誤的描述。 星號 * 表示未使用中。
| SQLSTATE | SQLCODE | 說明 |
|---|---|---|
| 08S01 | -256 | 訊息:工作單位異常。 原因:異常回復訊息顯示伺服器發生問題,導致伺服器異常結束工作單位。 動作:判斷死結、作員介入或其他問題是否導致伺服器回復工作單位。 檢閱用戶端網路追蹤,以判斷伺服器是否以選擇性原因碼或其他選擇性診斷資訊傳回 SQL 通訊區域回復資料 (SQLCARD)。 |
| 08S01 | -260 | 訊息:已處理存取 RDB 命令。 原因:存取關係資料庫回復訊息指出伺服器無法完成資料庫連接要求。 動作:確認連線參數,然後重新嘗試連線要求。 檢閱用戶端網路追蹤,以判斷伺服器是否以選擇性原因碼或其他選擇性診斷資訊傳回 SQL 通訊區域回復資料 (SQLCARD)。 |
| 08S01 | -261 | 訊息:已在目標系統上偵測到永久錯誤狀況。 請連絡您的伺服器管理員。 原因:永久代理程式錯誤回復訊息指出伺服器在伺服器上發生問題,導致伺服器未完成要求的命令。 動作:檢閱用戶端網路追蹤,以判斷伺服器是否傳回選擇性原因碼或其他選擇性診斷資訊。 |
| 08S01 | -263 | 訊息:無法起始封裝系結程式。 原因:開始系結錯誤回復訊息表示伺服器在伺服器上遇到問題,導致伺服器無法起始要求的套件系結程式。 動作:確認套件系結選項,然後重新嘗試套件系結進程要求。 檢閱用戶端網路追蹤,以判斷伺服器是否以選擇性原因碼或其他選擇性診斷資訊傳回 SQL 通訊區域回復資料 (SQLCARD)。 |
| 08S01 | -269 | 訊息:用戶無權在目標系統上執行要求的命令。 原因:伺服器無法使用連線時顯示的認證來驗證使用者。 動作:確認連線資訊,以確保使用者名稱(使用者標識符)、密碼和安全性方法已指定 (互動式登錄安全性、單一登錄或 Kerberos)符合目前使用者定義的伺服器需求。 如需詳細資訊,請參閱使用者名稱、密碼和安全性方法的主題。 |
| 08S01 | -270 | 訊息:發生內部網路連結庫錯誤。 要求的命令在目標系統上遇到實作特定的錯誤狀況。 原因:命令檢查回應訊息表示伺服器收到來自用戶端的命令,而伺服器認定這個命令在分散式資料管理或分散式關係資料庫架構中是未設計的。 動作:檢閱用戶端網路追蹤,以判斷伺服器是否傳回其他選擇性錯誤訊息,指出問題的原因和解決問題的動作。 |
| 08S01 | -272 | 訊息:發生內部網路連結庫錯誤。 目標系統無法辨識或不支援要求的命令。 原因:不支援的回復訊息表示伺服器收到用戶端送出的一個命令,該命令無法被伺服器辨識或伺服器不支援。 動作:檢閱用戶端網路追蹤,以判斷伺服器是否傳回選擇性嚴重性程式代碼或其他選擇性診斷資訊。 |
| 08S01 | -273 | 訊息:命令違反交談的處理功能。 原因:命令違規回復訊息指出伺服器收到來自用戶端的命令,指出伺服器判定違反目前交談的處理範圍。 動作:確認連接參數(例如分散式工作單位),然後重新嘗試連線和命令要求。 檢閱用戶端網路追蹤,以判斷伺服器是否傳回選擇性嚴重性程序代碼或其他選擇性診斷資訊。 |
| 08S01 | -274 | 訊息:承諾請求。 原因:提交要求回復訊息指出伺服器收到來自用戶端的提交或回復要求,伺服器判定在當前的上下文中無效。 動作:確認連接參數(例如分散式工作單位),然後重新嘗試連線和命令要求。 檢閱用戶端網路追蹤,以判斷伺服器是否傳回選擇性嚴重性程序代碼或其他選擇性診斷資訊。 |
| 08S01 | -290 | 訊息:描述無效。 原因:無效的描述回復訊息指出當用戶端傳送無效的DRDA格式化數據對象內容架構 (FD:OCA) 描述元時,伺服器無法讀取一或多個數據值,導致命令失敗。 動作:確認數據參數值和數據類型,然後重新嘗試命令要求。 檢閱用戶端網路追蹤,以判斷伺服器是否傳回選擇性嚴重性程式代碼、無效的參數號碼或其他選擇性診斷資訊。 |
| 08S01 | -291 | 訊息:主機因數據對應錯誤而無法插入、修改或擷取記錄。 原因:數據對應錯誤回復訊息指出當用戶端傳送無效的數據時,伺服器無法將一或多個數據值從來源對應至目的地,導致命令失敗。 動作:確認數據參數值和數據類型,然後重新嘗試命令要求。 檢閱用戶端網路追蹤,以判斷伺服器是否傳回選擇性嚴重性程式代碼、無效的參數號碼或其他選擇性診斷資訊。 |
| 08S01 | -303 | 訊息:查詢結束。 原因:查詢回復訊息的結尾表示伺服器無法繼續處理查詢結果,因為伺服器、網路或客戶端發生問題。 動作:確認伺服器和網路的狀態,然後重新嘗試連線和命令要求。 檢閱用戶端網路追蹤,以判斷伺服器是否傳回選擇性嚴重性程序代碼或其他選擇性診斷資訊。 |
| 08S01 | -304 | 訊息:工作單位結束。 原因:工作單元狀態回覆訊息表示伺服器已經根據從客戶端收到的最後一個命令結束工作單元。 動作:確認連線參數(例如自動認可、分散式工作單位、連線逾時、命令逾時、FastLoad Optimize 和靜態 SQL 套件系結選項),然後重新嘗試連線和命令要求。 檢閱用戶端網路追蹤,以判斷伺服器是否傳回選擇性嚴重性程序代碼或其他選擇性診斷資訊。 |
| 08S01 | -331 | 訊息:發生內部網路連結庫錯誤。 已提出一项要求,但其需滿足的內部管理依賴性未被實現。 原因:管理員相依性錯誤回復訊息指出伺服器從用戶端收到命令,表示伺服器根據伺服器指定的管理員層級,在要求內容中不支援該命令。 動作:確認連線參數,然後重新嘗試連線和命令要求。 檢閱用戶端網路追蹤,以判斷伺服器是否傳回選擇性原因碼或其他選擇性診斷資訊。 |
| 08S01 | -332 | 訊息:管理員層級衝突。 原因:管理員層級衝突回復訊息指出伺服器無法完成資料庫連接要求。 動作:確認連線參數,然後重新嘗試連線要求。 檢閱用戶端網路追蹤,以判斷伺服器是否以選擇性原因碼或其他選擇性診斷資訊傳回 SQL 通訊區域回復資料 (SQLCARD)。 |
| 08S01 | -335 | 訊息:發生內部網路連結庫錯誤。 要求的命令會傳送目標系統無法辨識或不支持的數據物件。 原因:不支援的物件回復訊息表示伺服器收到來自用戶端的物件,而該物件無法被伺服器辨識或支援。 動作:檢閱用戶端網路追蹤,以判斷伺服器是否傳回選擇性嚴重性程式代碼或其他選擇性診斷資訊。 |
| 08S01 | -339 | 訊息:開啟查詢失敗。 原因:查詢失敗回覆訊息表示伺服器無法處理客戶端開啟游標的要求。 動作:確認連線參數(例如自動認可、分散式工作單位、連線逾時、命令逾時、FastLoad Optimize 和靜態 SQL 套件系結選項),然後重新嘗試連線和命令要求。 檢閱用戶端網路追蹤,以判斷伺服器是否傳回選擇性嚴重性程序代碼或其他選擇性診斷資訊。 |
| 08S01 | -340 | 訊息:開啟查詢回復訊息。 原因:開啟的查詢完成回復訊息表示伺服器無法正常完成開啟的查詢或 SQL set 語句。 動作:確認連線參數(例如自動認可、分散式工作單位、連線逾時、命令逾時、FastLoad Optimize、靜態 SQL 封裝系結選項或預設限定符),然後重新嘗試連線和命令要求。 檢閱用戶端網路追蹤,以判斷伺服器是否傳回選擇性嚴重性程序代碼或其他選擇性診斷資訊。 |
| 08S01 | -341 | 訊息:封裝系結程式不適用於指定的封裝。 原因:關係資料庫封裝系結不是作用中的回復訊息表示伺服器無法處理系結 SQL 語句或結束系結要求,因為先前的開始系結要求尚未完成。 動作:確認連接參數(例如封裝集合或靜態 SQL 封裝系結選項),然後重新嘗試命令要求。 檢閱用戶端網路追蹤,以判斷伺服器是否傳回選擇性嚴重性程序代碼或其他選擇性診斷資訊。 |
| 08S01 | -342 | 訊息:當 RDB 套件系結程式為使用中時,無法處理命令。 原因:關係資料庫封裝綁定過程的活動回復訊息顯示,當之前年結束綁定要求未完成時,伺服器無法處理綁定的 SQL 語句。 動作:確認連接參數(例如封裝集合或靜態 SQL 封裝系結選項),然後重新嘗試命令要求。 檢閱用戶端網路追蹤,以判斷伺服器是否傳回選擇性嚴重性程序代碼或其他選擇性診斷資訊。 |
| HY000 | -343 | 訊息:發生內部網路連結庫錯誤。 發生網路層級交談通訊協議錯誤。 原因:交談協議錯誤代碼字串應答訊息指出伺服器在目前的狀態中收到了一個順序不正確的協議命令。 動作:檢閱用戶端網路追蹤,以判斷伺服器是否傳回選擇性嚴重性程式代碼或其他選擇性診斷資訊。 |
| 08S01 | -344 | 訊息:發生內部網路連結庫錯誤。 要求的命令包含目標系統無法辨識或不支持的參數。 原因:當伺服器無法辨識或支援指定的命令時,參數不支援回復訊息表示伺服器無法完成要求的命令。 動作:確認連線和命令參數,然後重新嘗試連線和命令要求。 檢閱用戶端網路追蹤,以判斷伺服器是否傳回選擇性嚴重性程序代碼或其他選擇性診斷資訊。 |
| 08S01 | -345 | 訊息:查詢未開啟。 原因:當查詢未開啟時,查詢未開啟回復訊息表示伺服器無法處理繼續查詢或關閉查詢命令。 動作:確認伺服器、網路和聯機參數的狀態(例如自動認可、分散式工作單位、連線逾時、命令逾時、FastLoad Optimize 和靜態 SQL 套件系結選項),然後重新嘗試連線和命令要求。 檢閱用戶端網路追蹤,以判斷伺服器是否傳回選擇性嚴重性程序代碼或其他選擇性診斷資訊。 |
| 08S01 | -346 | 訊息:先前已開啟查詢。 原因:先前開啟的查詢回復訊息表示伺服器無法處理已開啟的查詢要求。 動作:確認連線參數(例如自動認可、分散式工作單位、連線逾時、命令逾時、FastLoad Optimize 和靜態 SQL 套件系結選項),然後重新嘗試連線和命令要求。 檢閱用戶端網路追蹤,以判斷伺服器是否傳回選擇性嚴重性程序代碼或其他選擇性診斷資訊。 |
| 08S01 | -356 | 訊息:使用者已有主機資源的存取權。 原因:當客戶端已經連線到關係資料庫時,關係資料庫目前存取的回復訊息表示伺服器無法完成存取關係資料庫命令。 動作:確認連線參數(例如初始目錄、連線共用、連線逾時),然後重新嘗試連線和命令要求。 檢閱用戶端網路追蹤,以判斷伺服器是否傳回選擇性嚴重性程序代碼或其他選擇性診斷資訊。 |
| 08S01 | -357 | 訊息:主機資源的要求失敗。 原因:關係數據庫存取失敗的回復訊息表示伺服器無法完成連線要求。 動作:確認伺服器、網路和連線參數的狀態(例如初始目錄、網路位址、網路埠和聯機逾時),然後重新嘗試連線要求。 檢閱用戶端網路追蹤,以判斷伺服器是否傳回選擇性嚴重性程序代碼或其他選擇性診斷資訊。 |
| 08S01 | -358 | 訊息:用戶沒有存取主機資源的授權。 檢查您的驗證認證,或連絡您的系統管理員。 原因:未授權的關係資料庫回復訊息表示伺服器無法使用在連接時提供的憑證來驗證使用者。 動作:確認連線資訊,以確保 [用戶名稱]、[密碼] 和 [安全性方法](互動式登錄安全性、單一登錄或 Kerberos)符合目前使用者定義的伺服器需求,然後重新嘗試連線要求。 檢閱用戶端網路追蹤,以判斷伺服器是否傳回選擇性嚴重性程序代碼或其他選擇性診斷資訊。 如需詳細資訊,請參閱使用者名稱、密碼和安全性方法的主題。 |
| 08S01 | -359 | 訊息:存取 RDB 命令必須在要求 RDB 服務的任何命令之前發出。 原因:「未能存取關係資料庫」的回覆訊息表示,當先前的連接要求未完成,伺服器無法完成該命令。 動作:確認連線資訊,然後重新嘗試連線和命令要求。 檢閱用戶端網路追蹤,以判斷伺服器是否傳回選擇性嚴重性程序代碼或其他選擇性診斷資訊。 |
| HY000 | -360 | 訊息:找不到主機資源。 檢查初始目錄值是否符合主機資源名稱。 原因:找不到關係資料庫回復訊息表示伺服器無法將用戶端連線到要求的關係資料庫。 動作:確認連線資訊,確保初始資料庫目錄值符合 DB2 for z/OS 位置名稱、DB2 for IBM i 關係資料庫目錄條目(RDBDIRE),或 DB2 for Windows 資料庫名稱。 確認網路位址和網路埠的值,然後重新嘗試連線要求。 檢閱用戶端網路追蹤,以判斷伺服器是否傳回選擇性嚴重性程序代碼或其他選擇性診斷資訊。 如需詳細資訊,請參閱初始目錄主題。 |
| 08S01 | -361 | 訊息:RDB 更新回復訊息。 原因:關係資料庫更新回復訊息指出伺服器無法完成命令來更新本機或遠端關係資料庫。 動作:確認連線參數(例如自動認可、分散式工作單位、連線逾時、命令逾時、FastLoad Optimize 和靜態 SQL 套件系結選項),然後重新嘗試連線和命令要求。 檢閱用戶端網路追蹤,以判斷伺服器是否傳回選擇性嚴重性程序代碼或其他選擇性診斷資訊。 |
| 08S01 | -370 | 訊息:目標系統上的資源不足,無法完成命令。 請連絡您的伺服器管理員。 原因:達到回復訊息的資源限制表示伺服器因伺服器資源不足而無法完成(例如記憶體、鎖定、緩衝區)。 動作:確認連線和命令參數,然後重新嘗試連線和命令要求。 檢閱用戶端網路追蹤,以判斷伺服器是否以選擇性原因碼或其他選擇性診斷資訊傳回 SQL 通訊區域回復資料 (SQLCARD)。 |
| 08S01 | -372 | 訊息:發生 SQL 錯誤。 原因:SQL 錯誤條件回復訊息指出伺服器發生錯誤,因此傳回 SQL 錯誤。 動作:確認連線和命令參數,然後重新嘗試連線和命令要求(例如任何 SQL 語句,以及任何系結 SQL 語句至靜態 SQL 封裝區段進程要求)。 檢閱用戶端網路追蹤,以判斷伺服器是否以選擇性原因碼或其他選擇性診斷資訊傳回 SQL 通訊區域回復資料 (SQLCARD)。 |
| HY000 | -379 | 訊息:發生內部網路連結庫錯誤。 發生網路層級語法錯誤。 原因:數據流語法錯誤回復訊息指出伺服器無法處理伺服器判斷不符合分散式數據管理架構需求的通訊協定命令。 動作:檢閱用戶端網路追蹤,以判斷伺服器是否傳回選擇性嚴重性程式代碼或其他選擇性診斷資訊。 |
| 08S01 | -381 | 訊息:發生內部網路連結庫錯誤。 要求的命令傳送了目標系統無法辨識或不支持的數據物件延伸模組。 原因:目標不支持的回復訊息表示伺服器從用戶端收到伺服器無法辨識或伺服器不支援之物件上的參數。 動作:檢閱用戶端網路追蹤,以判斷伺服器是否傳回選擇性嚴重性程式代碼或其他選擇性診斷資訊。 |
| 08S01 | -385 | 訊息:發生內部網路連結庫錯誤。 要求的命令包含目標系統無法辨識或不支持的參數值。 原因:參數值不支援的回覆訊息表示伺服器收到來自用戶端的某個物件的參數值(例如無效的主機 CCSID),該值無法被伺服器辨識或不被伺服器支援。 用戶端在連接或執行命令時指定了不正確的使用者指定值。 動作:檢視用戶端網路追蹤,以查看哪些參數的值無法辨識或不支援,並判斷伺服器是否有傳回選擇性嚴重性程式代碼或其他選擇性診斷資訊。 |
| HY000 | 1500- | 訊息:目前連接已達到語句數目上限(128 個)。 原因:客戶端依賴 DB2 靜態 SQL 套件內區段中預先定義的 SQL 語句,以支援並行 SQL SELECT 語句的執行。 根據預設,用戶端會定義 128 個套件區段,讓用戶端在每個用戶端連線上執行 128 個並行 SQL SELECT 語句。 當未處理的並行 SQL SELECT 語句數目上限超過預先定義的區段數目時,用戶端就無法執行新的 SQL SELECT 語句。 動作:驗證連接資訊,以確保封裝集合的值與 DB2 集合相符,並確認其中的 HIS 2010 套件已定義於目前使用者識別碼或 PUBLIC 以供執行。 如需詳細資訊,請參閱套件集合主題。 |
| HY000 | -1501 | 訊息:用戶無權建立(執行)套件。 原因:伺服器無法執行 SQL SELECT 或 CALL 語句,而該語句需要儲存在目前使用者未授權的靜態 SQL 封裝中。 用戶端依賴 DB2 靜態 SQL 套件內區段中預先定義的 SQL 語句,以支援 SQL SELECT 語句的執行。 預設情況下,如果運行時間使用者對封裝集合連接屬性中指定的 DB2 集合具有套件的 BIND、EXECUTE 和 GRANT 權限,則客戶端會自動定義封裝。 動作:確認連接資訊,以確保封裝集合值符合 DB2 集合,其中 HIS 2010 套件已定義供目前使用者識別碼或 PUBLIC 執行。 使用資料存取工具、資料來源精靈、資料連結或資料存取庫,手動建立 HIS 2010 套件,供當前使用者識別碼或公用身份 (PUBLIC) 執行。 使用具有特殊許可權(具備 CREATE、BIND 和 EXECUTE 許可)的授權 ID 連線到 DB2,以自動建立 HIS 2010 套件。 如需詳細資訊,請參閱套件集合主題。 |
| HY000 | -7049 | 訊息:無法從集區取得連線。 應用程式達到連線共用的連線限制。 "MAX POOL SIZE" 屬性中定義的最大數目。 原因:用戶端在用戶端連線集區中的可用連線已用盡時,無法連線到伺服器。 動作:設定較大的集區大小上限,並在集區連線上設定逾時。 如需詳細資訊,請參閱集區大小上限主題。 |
TCPIP 網路錯誤
下表列出 TCPIP 網路用戶端錯誤常數、值、SqlState、SqlCode 和錯誤的描述。
| SQLSTATE | SQLCODE | 說明 |
|---|---|---|
| 08S01 | -602 | 訊息:無法解析指定的主機名。 原因:用戶無法連線到 DB2 伺服器,因為所指定的網路位址或網路端口值不正確。 動作:確認連線資訊,以確保指定的網路位址和網路埠符合伺服器。 如需詳細資訊,請參閱網路位址和網路埠的主題。 |
| 08S01 | -603 | 訊息:無法連線到指定的主機。 原因:客戶端因使用者指定的錯誤網路位址或網路埠值無法連線到DB2伺服器,或者伺服器目前無法使用。 動作:確認連線資訊,以確保指定的網路位址和網路埠符合伺服器。 請連絡網路管理員或伺服器管理員。 如需詳細資訊,請參閱網路位址和網路埠的主題。 |
| 08S01 | -604 | 訊息:套接字分配失敗。 原因:當所有本機用戶端套接字資源都正在使用時,客戶端無法透過 TCP/IP 網路連線到 DB2 伺服器。 動作:關閉未使用的用戶端連線。 利用客戶端連線共用。 如需詳細資訊,請參閱連線共用主題。 |
| 08S01 | -605 | 訊息:網路連線已終止,因為主機無法傳送任何數據。 原因:客戶端無法連線到 DB2 伺服器,因為客戶端或伺服器發生無法預見的問題。 動作:請連絡用戶端管理員、網路管理員或伺服器管理員。 |
| 08S01 | -606 | 訊息:企業單一登錄失敗:無法連絡 SSO 伺服器 <伺服器名稱>。 檢查是否已設定 SSO,且 SSO 服務是否在 hat 伺服器上執行。 原因:未設定或執行企業單一 Sign-On 伺服器。 動作:確認連線資訊,以確保ESSO分支機構應用程式名稱符合企業單一 Sign-On 系統管理員所定義之伺服器和目前使用者的值。 請洽詢您的企業單一 Sign-On 系統管理員。 設定替代驗證方法。 如需詳細資訊,請參閱安全性方法主題。 |
| 08S01 | 10014 | 訊息:發生 TCPIP 套接字錯誤(10014):名稱所指向的 sockaddr 結構包含不正確的地址格式,或者 namelen 參數對於相關地址家族來說太小。 如果 name 參數所指向的 sockaddr 結構與 namelen 參數中指定的長度不在使用者地址空間的有效部分,也會傳回此錯誤。 原因:客戶端嘗試使用格式不正確的 IPv6 網路地址連線到 DB2 伺服器。 動作:確認連線資訊,以確保指定的網路位址符合伺服器和 IPv4 或 IPv6 網路的需求。 如需詳細資訊,請參閱網路位址主題。 |
| 08S01 | 10022 | 訊息:發生 TCPIP 套接字錯誤 (10022):提供無效的自變數。 原因:客戶端嘗試使用格式不正確的 IPv4 或 IPv6 網路位址連線到 DB2 伺服器。 動作:確認連線資訊,以確保指定的網路位址符合伺服器和 IPv4 或 IPv6 網路的需求。 如需詳細資訊,請參閱網路位址主題。 |
| 08S01 | 10024 | 訊息:發生 TCPIP 套接字錯誤 (10024):沒有其他套接字描述項可供使用。 原因:當所有本機用戶端套接字連線都使用時,客戶端無法透過 TCP/IP 網路連線連線到 DB2 伺服器。 動作:關閉未使用的用戶端連線。 利用客戶端連線共用。 如需詳細資訊,請參閱連線共用主題。 |
| 08S01 | 10040 | 訊息:發生 TCPIP 套接字錯誤 (10040):訊息太大而無法放入指定的緩衝區,而且已截斷。 原因:客戶端無法依照程式的要求執行命令。 動作:確認命令語法和參數數據值是否在 DB2 伺服器平臺和版本所支援的限制內。 如需命令和數據類型限制的詳細資訊,請參閱數據類型對應主題。 |
| 08S01 | 10043 | 訊息:發生 TCPIP 套接字錯誤 (10043):不支援指定的通訊協定。 原因:客戶端嘗試使用 DB2 伺服器不支援的存取方法連線到 DB2 伺服器,例如安全套接字層或傳輸層安全性。 動作:確認連線資訊,以確保 DB2 伺服器支援 SSL 或 TLS。 設定 TCP/IP 網路,而不指定 SSL 或 TLS。 請連絡網路管理員或伺服器管理員。 如需 TCP/IP 網路連線的詳細資訊,請參閱 TCP/IP 網路連線主題。 |
| 08S01 | 10047 | 訊息:發生 TCPIP 套接字錯誤 (10047):指定系列中的位址無法與這個套接字搭配使用。 原因:客戶端嘗試使用格式不正確的 IPv4 或 IPv6 網路位址連線到 DB2 伺服器。 動作:確認連線資訊,以確保指定的網路位址符合伺服器和 IPv4 或 IPv6 網路的需求。 如需詳細資訊,請參閱網路位址主題。 |
| 08S01 | 10049 | 訊息:發生 TCPIP 套接字錯誤 (10049):遠端位址不是有效的位址(例如INADDR_ANY或in6addr_any)。 原因:客戶端嘗試使用格式不正確的 IPv6 網路地址連線到 DB2 伺服器。 動作:確認連線資訊,以確保指定的網路位址符合伺服器和 IPv4 或 IPv6 網路的需求。 如需詳細資訊,請參閱網路位址主題。 |
| 08S01 | 10050 | 訊息:發生 TCPIP 套接字錯誤(10050):套接字作業遇到死網路。 這可能表示網路系統嚴重失敗(也就是 Windows 套接字 DLL 執行的通訊協定堆疊)、網路介面或局域網路本身。 原因:客戶端因使用者指定的網路位址或網路埠值錯誤,或伺服器不可用,無法連線到 DB2 伺服器。 動作:確認連線資訊,以確保指定的網路位址和網路埠符合伺服器。 請連絡伺服器管理員。 如需詳細資訊,請參閱網路位址和網路埠的主題。 |
| 08S01 | 10051 | 訊息:發生 TCPIP 套接字錯誤 (10053):目前無法從此主機連線到網路。 原因:客戶端因使用者指定的網路位址或網路埠值錯誤,或伺服器不可用,無法連線到 DB2 伺服器。 動作:確認連線資訊,以確保指定的網路位址和網路埠符合伺服器。 請連絡伺服器管理員。 如需詳細資訊,請參閱網路位址和網路埠的主題。 |
| 08S01 | 10052 | 訊息:發生 TCPIP 插座錯誤(10053):針對面向連接的插座,此錯誤表示連線已中斷,因為在操作進行中,存活檢查活動偵測到故障。 針對數據報套接字,此錯誤表示存留時間已過期。 原因:伺服器已關閉用戶端連線。 動作:請連絡網路管理員或伺服器管理員。 |
| 08S01 | 10052 | 訊息:發生 TCPIP 套接字錯誤(10052):連線已中斷,因為保持連線活動在操作進行期間偵測到故障。 原因:伺服器已關閉用戶端連線。 動作:請連絡網路管理員或伺服器管理員。 |
| 08S01 | 10053 | 訊息:發生 TCPIP 套接字錯誤 (10053):已建立的連線已由主計算機中的軟體中止。 原因:伺服器已關閉用戶端連線。 動作:請連絡網路管理員或伺服器管理員。 |
| 08S01 | 10054 | 訊息:發生 TCP/IP 套接字錯誤(10054):虛擬線路已被遠端執行強制或異常關閉而重設。 應用程式應該關閉 socket,因為它已無法再使用。 在 UDP 數據報套接字上,此錯誤表示先前的傳送作業導致 ICMP「端口不可達」訊息。 原因:伺服器已關閉用戶端連線。 動作:請連絡網路管理員或伺服器管理員。 |
| 08S01 | 10055 | 訊息:發生 TCPIP 套接字錯誤 (10055):沒有可用的緩衝區空間。 原因:當所有本機用戶端套接字資源都正在使用時,客戶端無法透過 TCP/IP 網路連線到 DB2 伺服器。 動作:關閉未使用的用戶端連線。 利用客戶端連線共用。 如需詳細資訊,請參閱連線共用主題。 |
| 08S01 | 10057 | 訊息:發生 TCPIP 套接字錯誤(10057):要求傳送或接收資料被禁止,因為套接字未連線,且(使用 sendto 呼叫在數據報套接字上傳送時)未提供位址。 原因:客戶端無法因為使用者指定的網路位址或網路埠值錯誤而連接至 DB2 伺服器。 動作:確認連線資訊,以確保指定的網路位址和網路埠符合伺服器。 如需詳細資訊,請參閱網路位址和網路埠的主題。 |
| 08S01 | 10060 | 訊息:發生 TCPIP 套接字錯誤 (10060):因為網路失敗或對等系統無法回應而中斷連線。 原因:伺服器已關閉用戶端連線。 動作:請連絡網路管理員或伺服器管理員。 |
| 08S01 | 10061 | 訊息:發生 TCPIP 套接字錯誤 (10061):嘗試連線已強制拒絕。 原因:客戶端無法因為使用者指定的網路位址或網路埠值錯誤而連接至 DB2 伺服器。 動作:確認連線資訊,以確保指定的網路位址和網路埠符合伺服器。 如需詳細資訊,請參閱網路位址和網路埠的主題。 |
| 08S01 | 10065 | 訊息:發生 TCPIP 套接字錯誤 (10065):嘗試對無法連線的主機執行套接字作業。 原因:客戶端因使用者指定的網路位址或網路埠值錯誤,或伺服器不可用,無法連線到 DB2 伺服器。 動作:確認連線資訊,以確保指定的網路位址和網路埠符合伺服器。 請連絡伺服器管理員。 如需詳細資訊,請參閱網路位址和網路埠的主題。 |
| 08S01 | 10093 | 訊息:發生 TCPIP 套接字錯誤 (10093):在使用此函式之前,必須先進行成功的 WSAStartup 呼叫。 如需詳細資訊,請參閱https://msdn.microsoft.com/library/ms742213(VS.85).aspx。 原因:當所有本機用戶端套接字連線都使用時,客戶端無法透過 TCP/IP 網路連線連線到 DB2 伺服器。 動作:關閉未使用的用戶端連線。 利用客戶端連線共用。 如需詳細資訊,請參閱連線共用主題。 |
常見錯誤
下表說明可能發生的 DB2 伺服器錯誤,以及您必須採取的動作來更正它們。
| SQLSTATE | SQLCODE | 訊息 | 說明 |
|---|---|---|---|
| 42601 | 104- | 不合法的符號。 令牌無效,出現非預期的令牌。 發現未預期的令牌<token>在文字之後<文字>。 預期的令牌可能包括: <token-list>。 |
原因:伺服器無法執行包含非法、無效或非預期符號或令牌的 SQL 語句。 動作:使用特定 IBM DB2 平臺和版本的 IBM DB2 SQL 參考來驗證 SQL 語法。 檢查數據取用者應用程式是否使用不支援的分隔對象標識碼(例如方括弧(<[object-name>]),而不是使用支援的分隔符(雙引號)。 |
| 42602 | -113 | 在以下內容中發現無效字元:<字串>,原因代碼 <原因碼>。 偵測到名稱中無效的字元。 <identifier> 包含不允許的字元,或不包含任何字元。 |
原因:當用戶端連線到 DB2 伺服器時,伺服器無法處理 SQL SET CURRENT SQLID 語句。 動作:確認連接資訊,以確保預設限定符值符合已編錄物件的 DB2 集合。 如需詳細資訊,請參閱「預設限定符」的主題。 |
| 42802 | -117 | 指派的值數目與指定或隱含數據行的數目不同。 語句包含錯誤的值數目。 指派的值數目與指定或隱含數據行或變數的數目不同。 |
原因:當指定的值數目與數據表中的數據行數目不同時,伺服器無法執行 SQL INSERT 語句。 動作:藉由查詢系統目錄(例如 SYSIBM),確認數據行數目符合 SQL 語句中的物件。SYSCOLUMNS) 或執行用戶端架構查詢(例如 OLE DB IDBSchemaRowsets::GetSchemas(DBSCHEMA_COLUMNS) 或 ADO.NET MsDb2Connection.GetSchema(Columns)。 |
| 22007 | -181 | DATETIME 值的字串表示形式不是有效的 DATETIME 值 日期、時間或時間戳字串中的值無效。 日期時間值的字串表示形式超出範圍。 |
原因:伺服器無法執行 SQL 語句,其中 DATETIME 值的格式不正確或超出範圍。 動作:確認 DATETIME 值在支援的範圍內,包括年份 0001-9999,月份 1-12,日期 28/29/30/31(依月份和閏年而定),小時 0-24(美國慣用 12 小時制),分鐘 0-59,秒 0-59,以及微秒 0-999999。 檢查連線資訊以確保指定 DateTime As Date 選項為 True,以指示用戶端刪除對應至 DB2 Timestamp 數據值的 Windows DateTime 數據值的時間部分,讓 DB2 資料庫讀取這些值做為 DB2 Date 數據值。 如需詳細資訊,請參閱 DateTime As Date 主題。 |
| 42704 | -204 |
<schema>。<物件> 是未識別的名稱。 偵測到未定義的物件或條件約束名稱。 <name> 是未定義的名稱。 |
原因:伺服器無法執行參考無效 <架構>的 SQL 語句。<物件> 名稱。 動作:確認 SQL 語句中指定的物件名稱。 檢查連接資訊,以確保預設限定符值符合已編錄物件的 DB2 集合。 如需詳細資訊,請參閱「預設限定符」的主題。 |
| 42703 | -206 |
<名稱> 在其使用的上下文中無效 數據行 <名稱> 不在指定的數據表中。 <name> 在所使用的情境中無效。 |
原因:伺服器無法執行 SQL 語句,因為指定的欄位名稱在語句中不是來源或目標資料表或檢視表的欄位。 動作:藉由查詢系統目錄(例如 SYSIBM.SYSCOLUMNS)或執行客戶端架構查詢(例如 OLE DB IDBSchemaRowsets::GetSchemas(DBSCHEMA_COLUMNS)或 ADO.NET MsDb2Connection.GetSchema(Columns)),來確認欄位參考是否與 SQL 語句中的物件相符。 |
| 08S01 | -360 | 找不到主機資源。 檢查初始目錄值是否符合主機資源名稱。 | 原因:伺服器無法將客戶端連線到要求的DRDA RDBNAM (關係資料庫名稱)。 動作:確認連線資訊,以確保初始目錄值符合 DB2 for z/OS 位置名稱、DB2 for IBM i 關係資料庫目錄專案 (RDBDIRE) 或 DB2 for Windows 資料庫名稱。 如需詳細資訊,請參閱初始目錄主題。 |
| 42884 | -440 | 目前路徑中找不到名稱為<routine-name>且具有相容自變數的例程類型<routine-type> 找不到具有指定名稱和相容自變數的例程。 未找到授權的例程,名稱為<例程名稱>,類型為<例程類型>,具有相容的參數。 |
原因:伺服器無法執行 SQL CALL 語句,其中包含錯誤的自變數數目,或無效的參數數據類型,或參考無效 <的架構>。<物件> 名稱。 動作:確認自變數的數目。 檢查參數數據類型。 確認 SQL 語句中指定的物件名稱。 檢查連接資訊,以確保預設限定符值符合已編錄物件的 DB2 集合。 如需詳細資訊,請參閱「預設限定符」的主題。 |
| 24501 | -501 | 擷取或 CLOSE 語句中所識別的游標未開啟。 游標 <名稱> 未開啟。 在 FETCH 陳述式或 CLOSE 陳述式中指定的游標未開啟,或者在游標純量函數參考中的游標變數未開啟。 |
原因:伺服器無法針對未處於開啟狀態的 CURSOR 執行需要 FETCH 或 CLOSE 的 SQL SELECT 或 CALL 語句。 動作:確認應用程式是否發出 COMMIT 或 ROLLBACK,這可能會關閉游標。 檢查先前收到的傳回訊息,可能顯示伺服器基於系統事件自動關閉游標(例如 SQLCODE -404、-652、-679、-802、-901、-904、-909、-910、-911、-913 或 -952)。 使用某些一般取用者時,請確認連線資訊,確保 AutoCommit 選項設為 True。這包括在使用遠端工作單位交易時,與 SQL Server Integration Services 和分散式查詢處理器一起使用。 如需詳細資訊,請參閱 AutoCommit 主題。 |
| 42501 | -551 | 不被授權反對。 未獲授權對於<資源類型>的<資源名稱>中的<物件名稱>提出異議。 <authorization-ID> 沒有在物件 <名稱> 上執行作業 <> 所需的授權或權限。 |
原因:伺服器無法執行 SQL SELECT 或 CALL 語句,而該語句需要儲存在目前使用者未授權的靜態 SQL 封裝中。 用戶端依賴 DB2 靜態 SQL 套件內區段中預先定義的 SQL 語句,以支援 SQL SELECT 語句的執行。 預設情況下,如果運行時間使用者對封裝集合連接屬性中指定的 DB2 集合具有套件的 BIND、EXECUTE 和 GRANT 權限,則客戶端會自動定義封裝。 動作:確認連接資訊,以確保封裝集合值符合 DB2 集合,其中 HIS 2010 套件已定義供目前使用者識別碼或 PUBLIC 執行。 使用資料存取工具、資料來源精靈、資料連結或資料存取庫,手動建立 HIS 2010 套件,供當前使用者識別碼或公用身份 (PUBLIC) 執行。 使用具有特殊許可權(具備 CREATE、BIND 和 EXECUTE 許可)的授權 ID 連線到 DB2,以自動建立 HIS 2010 套件。 如需詳細資訊,請參閱套件集合主題。 |
| 42501 42602 |
-567 -567 |
<bind-type> 授權錯誤 使用 <auth-id> 授權套餐 = <package-name> 權限 = <privilege>. 授權名稱 &1 不被允許。 <authorization-ID> 不是有效的授權標識符。 |
原因:當使用者帳戶沒有建立或執行必要 DB2 套件的許可權時,伺服器無法執行 SQL SELECT 語句。 動作:確認連接資訊,以確保封裝集合值符合 DB2 集合,其中 HIS 2010 套件已定義供目前使用者識別碼或 PUBLIC 執行。 使用資料存取工具、資料來源精靈、資料連結或資料存取庫,手動建立 HIS 2010 套件,供當前使用者識別碼或公用身份 (PUBLIC) 執行。 使用具有特殊許可權(具備 CREATE、BIND 和 EXECUTE 許可)的授權 ID 連線到 DB2,以自動建立 HIS 2010 套件。 如需詳細資訊,請參閱套件集合主題。 |
| 42710 | -601 | 物件的名稱(版本或磁碟區序號)或 RENAME 語句的目標與物件類型<object-type>之現有名稱(版本或磁碟區序號)<object-name>相同。 <名稱>在<模式>類型<類型>中已經存在。 要建立的物件名稱與類型><類型的現有名稱名稱<>相同。 |
原因:當該名稱已用於相同類型的另一個物件時,伺服器便無法為物件命名。 動作:將物件命名為獨特的,以便與現有的資料庫物件區分。 |
| 42721 | -725 | 位置<location>的特殊寄存器<register>被提供了無效的值 | 原因:伺服器在包含使用者識別碼或集合名稱的無效值時,無法處理SET CURRENT SQLID 語句。 動作:確認連接資訊,以確保預設限定符值符合已編錄物件的 DB2 集合。 如需詳細資訊,請參閱「預設限定符」的主題。 |
| 23505 | -803 | 插入或更新的值無效,因為索引空間索引空間 <名稱> 中的索引會限制數據表的數據行,因此這些數據行中沒有任何兩個數據列可以包含重複的值。 現有列的行識別符是 X <列識別符> 指定的索引鍵值重複。 INSERT 語句、UPDATE 語句或 DELETE 語句引起的外鍵更新中有一或多個值無效,因為主鍵、唯一約束或>索引鍵限制了<唯一識別符表<表名稱>不允許索引鍵中存在重複值。 |
原因:伺服器無法針對 UNIQUE INDEX 所限制的數據表執行 INSERT 或 UPDATE 語句,其中語句會產生重複的值。 動作:藉由查詢系統類別目錄,確認數據值不會違反條件約束(例如 SYSIBM。SYSINDEXES)或執行用戶端架構查詢(例如 OLE DB IDBSchemaRowsets::GetSchemas(DBSCHEMA_INDEXES) 或 ADO.NET MsDb2Connection.GetSchema(Indexes)。 |
| 51002 | -805 | DBRM 或套件名稱 <location-name>.<collection-id>.<dbrmname>.<consistency-token> 無法在計畫 <plan-name> 中找到。 原因<理由>。 在 DRDA Server 找不到 <集合名稱> 中的 SQL 套件<套件名稱>。 找不到套件 <名稱>。 |
原因:伺服器找不到 DB2 用戶端執行動態 SQL SELECT 語句所需的 DB2 靜態 SQL 套件。 動作:驗證連接資訊,以確保封裝集合的值與 DB2 集合相符,並確認其中的 HIS 2010 套件已定義於目前使用者識別碼或 PUBLIC 以供執行。 如需詳細資訊,請參閱套件集合主題。 |
| 58004 | -901 | 系統錯誤導致執行失敗,但不會排除後續 SQL 語句的成功執行。 SQL 系統錯誤。 SQL 語句失敗,因為發生非嚴重系統錯誤。 後續的 SQL 語句可以處理。 (原因<reason>。) |
原因:伺服器無法執行目前的 SQL 語句,但後續的 SQL 語句可能會成功。 此錯誤可能是因為交易認可在分散式工作單位內失敗,或更新因條件約束而失敗,或 SQL 語句包含無效的長度(0 或超過最大長度)。 動作:用戶應該檢查可用來判斷是否需要進一步使用者或系統管理員動作的原因碼,以及藉由修改應用程式、交易或命令來判斷如何避免錯誤。 |
| 57011 | -904 | 資源無法使用所造成的執行失敗。 REASON <reason-code>、TYPE OF RESOURCE <resource-type> 和 RESOURCE NAME <resource-name>。 超過資源限制。 因無法使用的資源而導致執行失敗。 原因碼:<reason-code>,資源類型:<resource-type>,和資源名稱:<resource-name>。 |
原因:伺服器無法執行 SQL 語句,因為語句的對象無法使用。 動作:確認對象和資料庫可供使用,且無法處於死結、離線或其他無法使用狀態。 |
| 57033 | -913 | 因死結或逾時導致的執行不成功。 REASON CODE <reason-code>、TYPE OF RESOURCE <resource-type> 和 RESOURCE NAME <resource-name>。 資料列或物件<物件名稱> 在<資源名稱>的<資源類型>中使用中。 死結或逾時所造成的執行失敗。 原因碼 <原因碼>。 |
原因:伺服器無法執行 SQL 語句,因為語句的對象無法使用。 動作:確認對象和資料庫可供使用,且無法處於死結、離線或其他無法使用狀態。 認可或復原先前的作業,然後斷開與資料庫的連接。 如需對象狀態的詳細資訊,請檢查伺服器原因碼 (例如 DB2 for z/OS 原因代碼 00C90088 表示死結,而 00C9008E 表示逾時。 |