解決 Excel/Access 連線錯誤:'Microsoft.ACE.OLEDB.12.0' 提供者並未登錄於本機電腦上

在開發程式、撰寫自動化腳本或使用第三方工具串接資料庫時,你是否曾遇過這個令人頭痛的錯誤訊息:

" 'Microsoft.ACE.OLEDB.12.0' 提供者並未登錄於本機電腦上。 "

這是什麼時候被安裝的?

Microsoft Access Database Engine 通常會在安裝 Microsoft Office、特定第三方應用程式或執行開發工具 SDK 時被部署到系統中。

為什麼會發生這個錯誤?

錯誤的核心原因是「架構不一致」。如果您的程式是 32-bit,就必須配備 32-bit 的驅動程式;如果是 64-bit,則必須配備 64-bit 的驅動。

如何徹底移除衝突並排除安裝障礙?

請先依照您電腦安裝的 Office 位元組 下載並安裝對應的微軟套件。
a. 確認您的 Office 位元版本: 開啟任何一個 Office 軟體(如 Excel),點擊「檔案」>「帳戶」>「關於 Excel」,確認是 32-bit (x86) 還是 64-bit (x64)。
b. 下載對應套件:
若您的 Office 是 32-bit: 請下載 Microsoft Access Database Engine 2010 可轉散發套件
若您的 Office 是 64-bit: 請下載
Microsoft Access Database Engine 2010 可轉散發套件,或較新的 Microsoft Access Database Engine 2016 可轉散發套件 


如果您遇到安裝衝突,請先前往「新增或移除程式」嘗試卸載。若無法移除,可嘗試:

1. 使用 CMD 強制卸載舊版:

若無法在清單中找到,請以系統管理員身分執行 CMD,輸入:

wmic product where "name like '%%Access Database Engine%%'" call uninstall /nointeractive

2. 強制安裝新驅動 (使用 /passive 參數):

下載驅動程式後,以管理員身分執行 CMD,並在檔案路徑後加入 /passive 參數來執行安裝(例如:AccessDatabaseEngine.exe /passive),這能有效繞過安裝精靈的錯誤檢查。

3. 驗證安裝是否成功:

安裝完成後,建議重新啟動電腦。若要確認是否正確註冊,可在 CMD 輸入:

reg query "HKEY_CLASSES_ROOT\Microsoft.ACE.OLEDB.12.0"

若系統回傳相關機碼資訊,代表註冊成功;若顯示「找不到」,則表示安裝未完成或版本不正確。

如何避免這個訊息再次發生?

  1. 環境標準化: 統一 Office 版本(建議全面轉移至 64-bit Office)。
  2. 優先使用 OpenXML: 使用 pandas, openpyxl 等函式庫,擺脫對 Access 引擎的依賴。
  3. 專案架構設定: 確保 Visual Studio 編譯模式 (x86/x64) 與驅動程式位元數對齊。
Read More »
>