AccessDatabaseEngine_X64.exe是用于非微软office程序访问Access2010数据库引擎可再发行程序包。64位系统下.NET访问Access 数据库,最彻底的方法是安装64位的Access数据访问驱动安装程序 并使用新的Access提供程序 Microsoft.ACE.OLEDB.12.0AccessDatabaseEngine_X64.exe的作用在于使得在64位操作系统上与office应用程序之间进行数据传输。
怎么判断安装64位还是32位AccessDatabaseEngine:
如果你的PC是64bit的Win8 Pro,但是我Office的程序是32bit的,所以我应当安装AccessDatabaseEngine.exe(32bit);
打开你的.NET应用程序配置文件(应用程序名.config,Web应用程序为 Web.config),设置数据库连接字符串的Provide Microsoft.ACE.OLEDB.12.0,例如标准连接字符串为:"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=Data.accdb;Persist Security Info=False;"
再次运行程序,OK,数据库连接成功,一切正常。
注意:64位系统下一定要修改提供程序为 Microsoft.ACE.OLEDB.12.0,而此时的文件名,可以是 早期的 mdb文件,也可以是新的 accdb 文件。
如果你虽然是64位系统,但是你的Office 是32位的,所以你只能安装32位的ACE驱动,因此你的.NET应用程序也只能发布成32位的,如果编译成anycpu版本,还是无法访问ACE。
(PS:如果你发布成x86格式的目标平台,并且不想使用accdb格式的Access数据库文件,那么就不必安装上面的32位ACE驱动了,省得折腾:-《)
注意:
如果你安装了 64位的Access程序,但是在VS2013中调试Web网站应用程序的时候,提示“Microsoft.ACE.OLEDB.12.0” 未注册,请在VS的选项中,项目和解决方案,Web项目,勾选64位的 IIS Express。
报错处理:
根据报错提示卸载之前安装的32位版本AccessDatabaseEngine。