ASP+MS Access常见错误信息及处理方法

发表于:2007-06-30来源:作者:点击数: 标签:
錯誤代碼 無法更新資料庫 中文版: [Microsoft][ODBC Microsoft Access 驅動程式]無法更新. 資料庫或物件是唯讀的. 英文版:Cannot update. Database or object is read-only. Microsoft OLE DB Provider for ODBC Drivers error @#80004005@# [Microsoft][ODBC
錯誤代碼
無法更新資料庫

中文版: [Microsoft][ODBC Microsoft Access 驅動程式]無法更新. 資料庫或物件是唯讀的.

英文版:Cannot update. Database or object is read-only. Microsoft OLE DB Provider for ODBC Drivers error @#80004005@# [Microsoft][ODBC Microsoft Access Driver] Cannot update. Database or object is read-only.

因為使用者嘗試新增或更新資料等動作,但卻沒有足夠權限時會出現的錯誤訊息.解決方法為修改資料表權限, ,另外也有可能是伺服器端的資料庫正開啟中,因此造成無法更新的狀況,需先把該資 料表關閉後,才能新增或更新資料.

設定方式如下:

1.點選Access資料表=>按右鍵選內容==>安全性選項(Security) =>
點選新增(add)按鈕

2.然後將
IUSER 新增至允許名單中

3.在屬性視窗中,勾選
允許讀 與 寫的權限,(全部勾選也可以) 如下所示,然後點選確定 完成設定.

----------------------------------------------------------------------
錯誤代碼
參數太少
中文版:Microsoft OLE DB Provider for ODBC Drivers 錯誤 @#80040e10@# [Microsoft][ODBC Microsoft Access Driver] 參數太少,預期個數 1。

英文版:Microsoft OLE DB Provider for ODBC Drivers (0x80040E10) [Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.

此類型錯誤產生的原因在於SQL指令可能有錯誤.例如:SQL指令中的欄位名稱可能與實體資料表中的欄位 名稱不符,因此解決方式為重新檢查程式碼中的SQL條件運算式,是否有拼錯字等狀況.
----------------------------------------------------------------------
錯誤代碼
BOF EOF問題

中文版:ADODB.Field (0x800A0BCD) 可能是 BOF 或 EOF 的值為 True,或目前的記錄已被刪除。所要求的操作需要目前的記錄

英文版:ADODB.Recordset (0x800A0BCD) Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record.
此類型問題屬於資料集(recordset)的問題.這類問題發生的原因,一般是使用者送出了查詢條件,但送回的 結果卻是空的,即沒有符合查詢條件的資料.解決的方式為重先檢查查詢條件的設定與recordset的設定, 在傳回查詢條件時,確定不是一筆空的資料.
----------------------------------------------------------------------
錯誤代碼
運作必須使用更新查詢

中文版:Microsoft OLE DB Provider for ODBC Drivers (0x80004005) [Microsoft][ODBC Microsoft Access Driver] 運作必須使用更新查詢

英文版:Microsoft OLE DB Provider for ODBC Drivers error @#80004005@# [Microsoft][ODBC Microsoft Access Driver] Operation must use an updateable query.

因為使用者嘗試新增或更新資料等動作,但卻沒有足夠權限時會出現的錯誤訊息.解決方法為修改資料表權限, 設定方式同上
----------------------------------------------------------------------
錯誤代碼
無法開啟登錄鍵

中文版:[Microsoft][ODBC Microsoft Access Driver]一般錯誤 無法開啟登錄鍵 @#Temporary (volatile) Jet DSN for process 0x898 Thread 0x914 DBC 0x209e024 Jet@#

英文版:Microsoft OLE DB Provider for ODBC Drivers (0x80004005) [Microsoft][ODBC Microsoft Access Driver]General error Unable to open registry key @#Temporary (volatile) Jet DSN for process 0x6cc Thread 0x78c DBC 0x144cfc4 Jet@#.

這個問題可能有很多原因,最常見的情況為資料庫的路徑設定不正確,因此需要檢查檔案中資料庫路徑的設定 與實體目錄對印是否正確.另外,IIS的權限設定也會影響,需檢查該IUSER是否有存取權限,關於IUSER的權限設定 可參考範例
設定方式同上
----------------------------------------------------------------------
錯誤代碼
找不到檔案
英文版:Microsoft JET Database Engine (0x80004005) Could not find file @#C:\.netpub\wwwroot\databaseName.mdb@#.
此類型錯誤產生的原因在於資料表路徑的設定出錯,因此找不到asp檔案中所指定的相對應資料庫.解決 方式為重新檢查資料表的路徑設定是否正確.
----------------------------------------------------------------------
錯誤代碼
資料表被鎖定

Microsoft JET Database Engine error @#80004005@# Table @#tblTable@# is exclusively locked by user @#Admin@# on machine @#MyMachine@#.

此類型錯誤產生的原因在於無法存取該資料表或是該資料表目前為@#設計檢視"的狀態.解決方法將Access中 的設計檢視視窗關閉,確定資料表不是處於設計檢視狀態下即可.
----------------------------------------------------------------------
錯誤代碼
檔案正在使用中

Microsoft OLE DB Provider for ODBC Drivers error @#80004005@# [Microsoft][ODBC Microsoft Access Driver] Could not use @#(unknown)@#; file already in use.

此類型錯誤產生的原因有可能因為資料庫的權限設定出錯,另外一原因則是MDAC (Microsoft Data Access Components )的版本有錯,請確認安裝的ODBC版本是4,0以上. 版本資訊可參考

ODBC的版本資訊

原文转自:http://www.ltesting.net