ADO 錯誤
ErrorValueEnum 常數會描述 ADO 錯誤值。 如需這些列舉常數的完整清單 (包括值),請參閱附錄 B:ADO 錯誤。 本節將檢查一些更有趣的錯誤,並說明一些可以引發這些錯誤的特定情況,或修正問題的解決方案。 已列出 ErrorValueEnum 常數和短正數十進位數。
數字 | ErrorValueEnum 常數 | 描述/可能的原因 |
---|---|---|
3000 | adErrProviderFailed | 提供者無法執行要求的作業。 |
3001 | adErrInvalidArgument | 引數的類型錯誤、超出可接受的範圍,或彼此衝突。 此錯誤通常是由 SQL SELECT 語句中的印刷錯誤所造成。 例如,拼錯的欄位名稱或資料表名稱可能會產生此錯誤。 當 SELECT 陳述式中具名欄位或資料表不存在於資料存放區時,也會發生此錯誤。 |
3002 | adErrOpeningFile | 無法開啟檔案。 指定拼錯的檔案名稱,或檔案已移動、重新命名或刪除。 透過網路,磁碟機可能暫時無法使用,或網路流量可能會防止連線。 |
3003 | adErrReadFile | 無法讀取檔案。 檔案的名稱未正確指定、檔案可能已移動或刪除,或檔案可能已損毀。 |
3004 | adErrWriteFile | 寫入檔案失敗。 您可能已關閉檔案,然後嘗試寫入檔案,或檔案可能已損毀。 如果檔案位於網路磁碟機上,暫時性網路狀況可能會防止寫入網路磁碟機機。 |
3021 | adErrNoCurrentRecord | BOF 或 EOF 為 True,或目前的記錄已刪除。 要求的作業需要目前記錄。 嘗試透過使用 [尋找] 或 [搜尋] 將記錄指標移至所需的記錄來更新記錄。 如果找不到記錄,則 EOF 將會是 True。 此錯誤也可能在失敗的 AddNew 或 Delete 之後發生,因為這些方法失敗時沒有目前的記錄。 |
3219 | adErrIllegalOperation | 此內容中不允許作業。 |
3220 | adErrCantChangeProvider | 提供的提供者與已在使用中的提供者不同。 |
3246 | adErrInTransaction | 在交易中時,無法明確關閉 Connection 物件。 目前參與交易的 Recordset 或 Connection 物件無法關閉。 在關閉物件之前,請先呼叫 RollbackTrans 或 CommitTrans。 |
3251 | adErrFeatureNotAvailable | 物件或提供者無法執行要求的作業。 某些作業取決於特定提供者版本。 |
3265 | adErrItemNotFound | 在對應至所要求名稱或序數的集合中找不到項目。 指定了不正確的欄位或資料表名稱。 |
3367 | adErrObjectInCollection | 物件已經在集合中。 無法附加。 物件無法加入至相同的集合兩次。 |
3420 | adErrObjectNotSet | 物件已不再有效。 |
3421 | adErrDataConversion | 應用程式針對目前作業使用錯誤類型的值。 例如,您可能已將字串提供給預期資料流的作業。 |
3704 | adErrObjectClosed | 關閉物件時不允許作業。 Connection 或 Recordset 已關閉。 例如,某些其他常式可能已經關閉全域物件。 您可以先檢查 State 屬性,再嘗試作業,以防止此錯誤。 |
3705 | adErrObjectOpen | 開啟物件時不允許作業。 無法開啟已開啟的物件。 欄位無法附加至開啟的 Recordset。 |
3706 | adErrProviderNotFound | 找不到提供者。 其可能無法正確安裝。 提供者的名稱可能未正確指定、指定的提供者可能不會安裝在執行程式碼的電腦上,或安裝可能已損毀。 |
3707 | adErrBoundToCommand | Recordset 物件的 ActiveConnection 屬性,其具有 Command 物件作為其來源,無法變更。 應用程式嘗試將新的 Connection 物件指派給具有 Command 物件作為其來源的 Recordset。 |
3708 | adErrInvalidParamInfo | Parameter 物件未正確定義。 提供了不一致或不完整的資訊。 |
3709 | adErrInvalidConnection | 連線無法用來執行這項作業。 其在此內容中已關閉或無效。 |
3710 | adErrNotReentrant | 在處理事件時,可以執行作業。 無法在導致事件再次引發的事件處理常式內執行作業。 例如,不應從 WillMove 事件處理常式內呼叫導覽方法。 |
3711 | adErrStillExecuting | 非同步執行時無法執行作業。 |
3712 | adErrOperationCancelled | 使用者已取消作業。 應用程式已呼叫 CancelUpdate 或 CancelBatch 方法,且已取消目前的作業。 |
3713 | adErrStillConnecting | 非同步連線時無法執行作業。 |
3714 | adErrInvalidTransaction | 協調交易無效或尚未啟動。 |
3715 | adErrNotExecuting | 無法在未執行時執行作業。 |
3716 | adErrUnsafeOperation | 此電腦的安全設定禁止存取另一個網域的資料來源。 |
3717 | adWrnSecurityDialog | 僅供內部使用。 請勿使用。 (項目是為了完整性而納入。此錯誤不應出現在您的程式碼中。) |
3718 | adWrnSecurityDialogHeader | 僅供內部使用。 請勿使用。 (項目是為了完整性而納入。此錯誤不應出現在您的程式碼中。) |
3719 | adErrIntegrityViolation | 資料值與欄位的完整性條件約束衝突。 Field 的新值會導致重複的索引鍵。 形成兩筆記錄之間關聯性一端的值可能無法更新。 |
3720 | adErrPermissionDenied | 權限不足,無法寫入欄位。 連接字串中的具名使用者沒有寫入 Field 的適當權限。 |
3721 | adErrDataOverflow | 資料值太大,無法以欄位資料類型表示。 已為預定欄位指派太大的數值。 例如,已將長整數值指派給短整數欄位。 |
3722 | adErrSchemaViolation | 資料值與欄位的資料類型或條件約束衝突。 資料存放區具有與 Field 值不同的驗證條件約束。 |
3723 | adErrSignMismatch | 已簽署資料值,但未簽署提供者所使用的欄位資料類型,因此轉換失敗。 |
3724 | adErrCantConvertvalue | 由於符號不符合或資料溢位以外的原因,而無法轉換資料值。 例如,轉換會截斷資料。 |
3725 | adErrCantCreate | 無法設定或擷取資料值,因為欄位資料類型未知,或提供者沒有足夠的資源可執行作業。 |
3726 | adErrColumnNotOnThisRow | 記錄不包含此欄位。 指定了不正確的欄位名稱,或參考了目前記錄內 Fields 集合中的欄位。 |
3727 | adErrURLDoesNotExist | 來源 URL 或目的地 URL 的父系不存在。 來源或目的地 URL 中有拼字錯誤。 您可能有 https://mysite/photo/myphoto.jpg ,但實際應該有 https://mysite/photos/myphoto.jpg 。 父系 URL 中的拼字錯誤 (在此情況下,photo 而非 photos) 導致了錯誤。 |
3728 | adErrTreePermissionDenied | 權限不足,無法存取樹狀結構或樹狀子目錄。 連接字串中的具名使用者沒有適當的權限。 |
3729 | adErrInvalidURL | URL 包含無效的字元。 請確定 URL 已正確輸入。 URL 會遵循向目前提供者 (例如,網際網路發佈提供者會針對 HTTP 註冊) 註冊的結構描述。 |
3730 | adErrResourceLocked | 指定 URL 代表的物件已由一個或多個其他處理序鎖定。 等待程序完成,然後再次嘗試作業。 您嘗試存取的物件已由其他使用者或應用程式中的另一個處理序鎖定。 這最有可能發生在多使用者環境中。 |
3731 | adErrResourceExists | 無法執行複製作業。 以目的地 URL 命名的物件已存在。 指定 adCopyOverwrite 來取代 物件。 如果您在複製目錄中的檔案時未指定 adCopyOverwrite,則當您嘗試複製已存在於目的地位置的項目時,複製將會失敗。 |
3732 | adErrCannotComplete | 伺服器無法完成作業。 這可能是因為伺服器正忙於其他作業,或資源可能不足。 |
3733 | adErrVolumeNotFound | 提供者找不到 URL 所指示的存放裝置。 請確定 URL 已正確輸入。 存放裝置的 URL 可能不正確,但可能會因為其他原因而發生此錯誤。 裝置可能離線,或大量網路流量可能會防止建立連線。 |
3734 | adErrOutOfSpace | 無法執行作業。 提供者無法取得足夠的儲存空間。 伺服器上暫存檔的 RAM 或硬碟空間可能不足。 |
3735 | adErrResourceOutOfScope | 來源或目的地 URL 超出目前記錄的範圍。 |
3736 | adErrUnavailable | 作業無法完成,且狀態無法使用。 欄位可能無法使用,或未嘗試作業。 其他使用者可能已變更或刪除您嘗試存取的欄位。 |
3737 | adErrURLNamedRowDoesNotExist | 此 URL 所命名的記錄不存在。 嘗試使用 Record 物件開啟檔案時,檔案名稱或檔案的路徑拼錯。 |
3738 | adErrDelResOutOfScope | 要刪除物件的 URL 超出目前記錄的範圍。 |
3747 | adErrCatalogNotSet | 作業需要有效的 ParentCatalog。 |
3748 | adErrCantChangeConnection | 連線遭到拒絕。 您要求的新連線具有與已在使用中連線不同的特性。 |
3749 | adErrFieldsUpdateFailed | 欄位更新失敗。 如需詳細資訊,請檢查個別欄位物件的 Status 屬性。 此錯誤可能發生在兩種情況下:在變更或新增記錄至資料庫的過程中變更 Field 物件的值時;以及在變更 Field 物件本身的屬性時。 Record 或 Recordset 更新失敗,因為目前記錄中的其中一個欄位發生問題。 列舉 Fields 集合,並檢查每個欄位的 Status 屬性,以判斷問題的原因。 |
3750 | adErrDenyNotSupported | 提供者不支援共用限制。 嘗試限制檔案共用,而您的提供者不支援此概念。 |
3751 | adErrDenyTypeNotSupported | 提供者不支援要求的共用限制種類。 嘗試建立提供者不支援的特定檔案共用限制類型。 請參閱提供者的文件,以判斷支援哪些檔案共用限制。 |