AccessDatabaseEngine_X64.exe是用于非微軟office程序訪問Access2010數(shù)據(jù)庫引擎可再發(fā)行程序包。64位系統(tǒng)下.NET訪問Access 數(shù)據(jù)庫,最徹底的方法是安裝64位的Access數(shù)據(jù)訪問驅動安裝程序 并使用新的Access提供程序 Microsoft.ACE.OLEDB.12.0AccessDatabaseEngine_X64.exe的作用在于使得在64位操作系統(tǒng)上與office應用程序之間進行數(shù)據(jù)傳輸。
怎么判斷安裝64位還是32位AccessDatabaseEngine:
如果你的PC是64bit的Win8 Pro,但是我Office的程序是32bit的,所以我應當安裝AccessDatabaseEngine.exe(32bit);
打開你的.NET應用程序配置文件(應用程序名.config,Web應用程序為 Web.config),設置數(shù)據(jù)庫連接字符串的Provide Microsoft.ACE.OLEDB.12.0,例如標準連接字符串為:"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=Data.accdb;Persist Security Info=False;"
再次運行程序,OK,數(shù)據(jù)庫連接成功,一切正常。
注意:64位系統(tǒng)下一定要修改提供程序為 Microsoft.ACE.OLEDB.12.0,而此時的文件名,可以是 早期的 mdb文件,也可以是新的 accdb 文件。
如果你雖然是64位系統(tǒng),但是你的Office 是32位的,所以你只能安裝32位的ACE驅動,因此你的.NET應用程序也只能發(fā)布成32位的,如果編譯成anycpu版本,還是無法訪問ACE。
(PS:如果你發(fā)布成x86格式的目標平臺,并且不想使用accdb格式的Access數(shù)據(jù)庫文件,那么就不必安裝上面的32位ACE驅動了,省得折騰:-《)
注意:
如果你安裝了 64位的Access程序,但是在VS2013中調試Web網(wǎng)站應用程序的時候,提示“Microsoft.ACE.OLEDB.12.0” 未注冊,請在VS的選項中,項目和解決方案,Web項目,勾選64位的 IIS Express。
報錯處理:
根據(jù)報錯提示卸載之前安裝的32位版本AccessDatabaseEngine。