本文將介紹嘗試透過 OLEDB 存取 Access '檔案時,發生【Microsoft.Jet.OLEDB.4.0' 提供者並未登錄於本機電腦上】錯誤的可能解決方案。
當您在 .Net 應用程式中,嘗試透過 OLEDB 存取 ACCESS 檔案時,發生【Microsoft.Jet.OLEDB.4.0' 提供者並未登錄於本機電腦上】錯誤(如下圖),首先說明發生該錯誤訊息的環境:
- 作業系統:Windows 7 Enterprise x64
- Office:Office 2010 x86
預設 Visual Studio 是以 Any CPU 為目標平台,也就是說編譯出來的應用程式可以同時執行在 32 和 64 位元的電腦上,而 Microsoft.Jet.OLEDB.4.0 屬於 32 位元的驅動程式,無法在 64 位元的環境中執行。
以 VB.NET 的專案為例,您只要於【Solution Explorer】中雙擊【My Project】,於專案設定視窗中點選【Complie > Advanced Compile Options】來設定目標平台。
將【Target CPU】設定由原本的 Any CPU 改為【 x86 】再重新編譯即可。
PS:其實在很網路上已經有許多朋友都有相關的文章提到了,在此筆者還是自己註記一下,以防之後忘記。