今天有需求要用C#來讀寫Access檔案,
結果出現了一個錯誤,
'Microsoft.Jet.OLEDB.4.0' 提供者並未登錄於本機電腦上。
去網路上查了之後,
發現了一個驚人的事,
有人說Microsoft.Jet不支援64位元,只能在x86下運行,
偏偏程式的記憶體需求高,
又要用64位元來編譯,
看了很多Access的教學文,
都是用Oledb配合Microsoft.Jet的方式,
想問一下各位功力高強的大大,
有沒有其他方式可以讀寫Access,
感激不盡~
把Provider=Microsoft.Jet.OLEDB.4.0
改成Provider=Microsoft.ACE.OLEDB.12.0
應該就可以了。
若還不行可能是電腦沒有安裝Microsoft.ACE.OLEDB.12.0
,要去https://www.microsoft.com/zh-tw/download/details.aspx?id=13255 下載Microsoft Access Database Engine 2010 可轉散發套件
。
補充一下 pcw大說的,之前剛好有在 64位元存取 access的經驗,後來我是裝 https://www.microsoft.com/en-us/download/details.aspx?id=54920 、2010的也是OK,不過在使用某個套件查詢資料有遇到怪問題(忘記哪個)、記得專案要設定成 64位元