嘗試透過 OLEDB 存取 Access '檔案時,發生【Microsoft.Jet.OLEDB.4.0' 提供者並未登錄於本機電腦上】錯誤的可能解決方案

本文將介紹嘗試透過 OLEDB 存取 Access '檔案時,發生【Microsoft.Jet.OLEDB.4.0' 提供者並未登錄於本機電腦上】錯誤的可能解決方案。

當您在 .Net 應用程式中,嘗試透過 OLEDB 存取 ACCESS 檔案時,發生【Microsoft.Jet.OLEDB.4.0' 提供者並未登錄於本機電腦上】錯誤(如下圖),首先說明發生該錯誤訊息的環境:

  • 作業系統:Windows 7 Enterprise x64
  • Office:Office 2010 x86

 

image

 

預設 Visual Studio 是以 Any CPU 為目標平台,也就是說編譯出來的應用程式可以同時執行在 32 和 64 位元的電腦上,而 Microsoft.Jet.OLEDB.4.0 屬於 32 位元的驅動程式,無法在 64 位元的環境中執行。

 

image

 

以 VB.NET 的專案為例,您只要於【Solution Explorer】中雙擊【My Project】,於專案設定視窗中點選【Complie > Advanced Compile Options】來設定目標平台。

 

image

 

將【Target CPU】設定由原本的 Any CPU 改為【 x86 】再重新編譯即可。

 

image

 

PS:其實在很網路上已經有許多朋友都有相關的文章提到了,在此筆者還是自己註記一下,以防之後忘記。