2017年11月30日 星期四

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

來源
https://dotblogs.com.tw/dragoncancer/2016/03/31/102924



解決'Microsoft.ACE.OLEDB.12.0' 提供者並未登錄於本機電腦...

    Microsoft Access Database Engine 2010
'Microsoft.ACE.OLEDB.12.0' 提供者並未登錄於本機電腦上
之前資料轉換,都是利用SSIS,在特定時間,將USER做好的excel資料轉入資料庫。
但是最近有些資料希望能夠及時被更新,因此在考量開發時間與作業習慣的情況下,決定採用開發WEB介面讓USER自己將Excel資料上傳並轉入資料庫中。
程式開發完畢本機測試沒有問題,將Web發佈上去,再重新測試時......出現了以下錯誤
'Microsoft.ACE.OLEDB.12.0' 提供者並未登錄於本機電腦上。......
原因是Server上沒有安裝Access Database Engine 2010 的驅動程式。
解法很簡單
到微軟網站下載"Microsoft Access Database Engine 2010 可轉散發套件",並安裝於Server上就可以了.....官網連結載點
Server的環境是Server 2008 32Bit的版本... 所以直接下載安裝的 AccessDatabaseEngine.exe...
裝完後.....還是出現....
'Microsoft.ACE.OLEDB.12.0' 提供者並未登錄於本機電腦上。......
原來是使用者的呼叫環境是(Win 7 X64),所以要一併將 64位元的版本裝上去.....
重新下載..AccessDatabaseEngine_X64.exe 執行安裝。
卻出現 由於目前你已經安裝32位元的office產品,因此無法安裝64位元版本的Microsoft Access Database Engine 2010,若要安裝64位元的版本,請先除32位元的office產品
布拉不拉的說明.......(這下慘了.....)
還好德瑞克大師 (參考聯結) 有提到如何解決此窘境...
若要將 64 位元與 32 位元版本的 Access Database Engine 2010 驅動程式,安裝在同一作業系統上,可以使用以下的方式:
在命令列提示列中,執行:
AccessDatabaseEngine_X64.exe /passive
就可以完成安裝!!
感謝所有前輩提供的解法,自己留作紀錄.....謝謝!!!

沒有留言:

張貼留言

2024_09 作業3 以Node-Red 為主

 2024_09 作業3  (以Node-Red 為主  Arduino 可能需要配合修改 ) Arduino 可能需要修改的部分 1)mqtt broker  2) 主題Topic (發行 接收) 3) WIFI ssid , password const char br...