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