64位系统下.NET访问Access 数据库,最彻底的方法是安装64位的Access数据访问驱动安装程序 并使用新的Access提供程序 Microsoft.ACE.OLEDB.12.0,安装2010 office X64 版本的机器,使用数据导入时会提示缺少 access 数据库引擎 可以下载来用用,从微软官网直接下载的!Microsoft Access 2010 数据库引擎可再发行程序包
office2007、2010数据库访问引擎AccessDatabaseEngine,这个是64位版本,如果是64位操作系统,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),设置数据库连接字符串的Provide Microsoft.ACE.OLEDB.14.0,例如标准连接字符串为:"Provider=Microsoft.ACE.OLEDB.14.0;Data Source=Data.accdb;Persist Security Info=False;"
再次运行程序,OK,数据库连接成功,一切正常。
注意:64位系统下一定要修改提供程序为 Microsoft.ACE.OLEDB.14.0,而此时的文件名,可以是 早期的 mdb文件,也可以是新的 accdb 文件。
如果你虽然是64位系统,但是你的Office 是32位的,所以你只能安装32位的ACE驱动,因此你的.NET应用程序也只能发布成32位的,如果编译成anycpu版本,还是无法访问ACE。
今天在64位系统Win7下连接Access数据库,出现以下错误。
The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine
据说'Microsoft.Jet.OLEDB.4.0' 没有64位的版本。