共用方式為


PRB:錯誤80004005「Microsoft Jet 資料庫引擎無法開啟檔案 』 (未知) '」

徵狀

當您使用 ActiveX Data Objects (ADO) 或 ODBC 連線到 Microsoft Access 資料庫時,您可能會收到下列錯誤訊息:

Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC Microsoft Access 97 Driver] The Microsoft Jet database engine cannot open the file '(unknown)'. It is already opened exclusively by another user, or you need permission to view its data.

原因

此錯誤訊息有幾個原因:

  • Microsoft Internet Information Server (IIS) 使用的帳戶 (通常是 IUSR) 沒有檔案資料庫或包含檔案之資料夾的正確 Windows NT 許可權。
  • 檔案和數據源名稱會標示為獨佔。
  • 另一個進程或用戶已開啟 Access 資料庫。
  • 此錯誤可能是委派問題所造成。 如果有的話,請檢查 Basic 與 NTLM) (驗證方法。 如果 連接字串 使用 UNC) (通用命名約定,請嘗試使用基本身份驗證或絕對路徑,例如 C:\Mydata\Data.mdb。 即使 UNC 指向 IIS 計算機的本機資源,也可能會發生此問題。
  • 當您存取連結至數據表位於網路伺服器上 Access 資料庫中之數據表的本機 Microsoft Access 資料庫時,也可能會發生此錯誤。

解決方案

下列項目對應至先前的原因清單:

  • 檢查檔案和資料夾的許可權。 請確定您能夠建立及/或終結任何暫存盤。 暫存盤通常會建立在與資料庫相同的資料夾中,但該檔案也可以建立在其他資料夾中,例如WINNT資料夾。

    如果您使用資料庫的網路路徑 (UNC 或對應的磁碟驅動器) ,請檢查共用、檔案和資料夾的許可權。

  • 確認 DSN) (檔案和數據來源名稱未標示為獨佔。

  • 「其他使用者」可能是 Microsoft Visual InterDev。 關閉包含資料庫數據連線的任何 Visual InterDev 專案。

  • 簡化。 使用使用本機驅動器號的系統 DSN。 如有必要,請將資料庫移至本機磁碟驅動器以進行測試。

參考資料

若要檢查檔案存取失敗,請使用 Windows NT 檔案監視器。 若要下載文件監視器,請參閱 Windows Sysinternals