[.NET]解決'Microsoft.ACE.OLEDB.12.0' 提供者並未登錄於本機電腦上的問題

新系統測試的過程中,原本在本機的Visual Studio編譯及測試過程中都沒有問題
但是將程式放到驗證/測試主機上就發生了"Microsoft.ACE.OLEDB.12.0' 提供者並未登錄於本機電腦上"這樣的錯誤

今天在新系統測試的過程中,原本在本機的Visual Studio編譯及測試過程中都沒有問題

但是將程式放到驗證/測試主機上就發生了這樣的錯誤

後來Google了一下,很快就找到解決的方式

因為在程式中有使用到Office 2010開啟Excel或是Access檔案的Driver


ConnectionString = @"Provider = Microsoft.ACE.OLEDB.12.0 ; Data Source = ...";

而本機電腦有安裝Office 2010,但是Server上沒安裝,才會發生這樣的錯誤

解法很簡單

到微軟網站下載"Microsoft Access Database Engine 2010 可轉散發套件",並安裝於Server上就可以了

下載網址:http://www.microsoft.com/downloads/zh-tw/details.aspx?familyid=C06B8369-60DD-4B64-A44B-84B371EDE16D&displaylang=zh-tw

別忘了選擇伺服器的版本喔