关于“未在本地计算机上注册“Microsoft.Ace.OleDb.12.0”提供程序”问题的解决方法

本人的开发环境Win7(64位),VS2015,Office2016

想在VS中连接Access数据库,出现“未在本地计算机上注册“Microsoft.Ace.OleDb.12.0”提供程序”的问题。

解决思路:

在网上查了一下,解决方法基本上都是安装“Microsoft Access Driver”数据库引擎,

于是直接在度娘上搜索“Microsoft Access Driver”,在结果中找到一条微软的官方链接“Download Microsoft Access 2010 数据库引擎可再发行程序包",

点进去下载了“AccessDatabaseEngine_X64.exe”,

安装结束后,在控制面板的管理工具里能识别*.accdb数据源文件,

但是在VS的服务器资源管理器中新建数据连接时,依然出现“未在本地计算机上注册“Microsoft.Ace.OleDb.12.0”提供程序”,

无奈继续度娘,发现可以在注册表中判断是否安装了 Microsoft.ACE.OLEDB.12.0

在win7系统中,判断是否存在下面的subkey

HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\ODBC\ODBCINST.INI\Microsoft Access Driver (*.mdb, *.accdb)

而我的注册表中只有HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\ODBC\ODBCINST.INI\Microsoft Access Driver (*.mdb)这一项,明显没有*.accdb的引擎。

可是无论怎么搜索度娘,解决方法都是安装“Microsoft Access Driver”数据库引擎,很多还给出了下载链接,于是又从微软官网上下载“Download Microsoft Access 2010 数据库引擎可再发行程序包",问题依旧,在万般无辜下,随便点击了某个帖子(实在不好意思,具体是哪个帖子,已经不记得了)里给出的下载链接,下载的文件名为“AccessDatabaseEngine.exe”,心想这个东东和我刚才下载的“AccessDatabaseEngine_X64.exe”,区别不就是一个32位一个64位吗?能解决问题吗?而且我也试过下载32位的版本,安装后问题没解决啊,反正已经下载了,就试试吧,结果一试发现,原来安装的是“Microsoft Office Access database engine 2007”,关键就在这里,安装完后,在注册表中发现了HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\ODBC\ODBCINST.INI\Microsoft Access Driver (*.mdb, *.accdb),并且在VS中能识别了,问题解决。


所以,解决问题的关键在于,是要安装“Microsoft Access Driver”数据库引擎,但是要装的是2007而不是2010。

2007的安装文件不好找了,已上传到CSDN

下载地址:https://download.csdn.net/download/sy95122/10631307

你可能感兴趣的:(VC编程)