使用 asp.net 讀取 access 時所發生之問題。
當我們使用 asp.net 讀取資料庫時,一般我們都是連接 MSSQL
並引用 SqlClient 進行讀取
using System.Data.SqlClient;
倘若我們要讀取 Access(2010) 的時候,便會引用 OleDb
using System.Data.OleDb;
錯誤訊息
而在引用 OleDb 後,通常第一次使用會發生伺服器錯誤
「Microsoft.ACE.OLEDB.12.0 提供者並未登錄於本機電腦上」
處理方式
此一問題為基於未安裝 Access Database Engine 2010 之驅動程式。
至官方下載套件即可:Microsoft Access Database Engine 2010 可轉散發套件
安裝注意事項
倘若主機為 32 bit,安裝對應之 32 bit 套件即可;若為 64bit,務必兩者皆安裝,
在 64bit 安裝兩者時將發生以下訊息:
由於目前你已經安裝32位元的office產品,因此無法安裝64位元版本的Microsoft Access Database Engine 2010,
若要安裝64位元的版本,請先除32位元的office產品
此時我們透過 cmd 安裝即可避免此問題,
首先開啟 「命令提示字元Cmd」,切換至安裝檔目錄底下:
AccessDatabaseEngine_X64.exe /passive
跳過一閃的執行畫面即為完成安裝!
參考資料:德瑞克:SQL Server 學習筆記
有勘誤之處,不吝指教。ob'_'ov