64位系統(tǒng)下.NET訪問Access 數(shù)據(jù)庫,最徹底的方法是安裝64位的Access數(shù)據(jù)訪問驅動安裝程序 并使用新的Access提供程序 Microsoft.ACE.OLEDB.12.0,安裝2010 office X64 版本的機器,使用數(shù)據(jù)導入時會提示缺少 access 數(shù)據(jù)庫引擎 可以下載來用用,從微軟官網直接下載的!Microsoft Access 2010 數(shù)據(jù)庫引擎可再發(fā)行程序包
office2007、2010數(shù)據(jù)庫訪問引擎AccessDatabaseEngine,這個是64位版本,如果是64位操作系統(tǒng),32位版本可以安裝,但建議安裝64位的,都咋你安裝其他64位office軟件會強制你卸載.
怎么使用:
①下載安裝Microsoft Access Database Engine 2010 Redistributable(28MB),共有32bit(下載)和64bit(下載)兩個版本,具體要安裝哪個要看你的Office程序是32bit的還是64bit的,比如:我的PC是64bit的Win8 Pro,但是我Office的程序是32bit的,所以我應當安裝AccessDatabaseEngine.exe(32bit);
②打開你的.NET應用程序配置文件(應用程序名.config,Web應用程序為 Web.config),設置數(shù)據(jù)庫連接字符串的Provide Microsoft.ACE.OLEDB.14.0,例如標準連接字符串為:"Provider=Microsoft.ACE.OLEDB.14.0;Data Source=Data.accdb;Persist Security Info=False;"
再次運行程序,OK,數(shù)據(jù)庫連接成功,一切正常。
注意:64位系統(tǒng)下一定要修改提供程序為 Microsoft.ACE.OLEDB.14.0,而此時的文件名,可以是 早期的 mdb文件,也可以是新的 accdb 文件。
如果你雖然是64位系統(tǒng),但是你的Office 是32位的,所以你只能安裝32位的ACE驅動,因此你的.NET應用程序也只能發(fā)布成32位的,如果編譯成anycpu版本,還是無法訪問ACE。
解決問題:
今天在64位系統(tǒng)Win7下連接Access數(shù)據(jù)庫,出現(xiàn)以下錯誤。
The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine
據(jù)說'Microsoft.Jet.OLEDB.4.0' 沒有64位的版本。