未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序。

笔记本装的是windows 7旗舰版64位系统,使用的是MS Office 2007(Microsoft.ACE.OLEDB.12.0,32位程序),开发用的是Visual Studio 2010,我的程序要进行Excel的读写和导出,运行时报“未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序。”网上搜了一下,终于把问题解决了,现总结如下:

步骤一:

先检查安装的MS office程序里是否包含Acess,因为读写Excel需用到Acess数据库引擎。若没有,则下载MS Access 2007数据库引擎并安装,下载地址: http://download.microsoft.com/download/7/0/3/703ffbcb-dc0c-4e19-b0da-1463960fdcdb/AccessDatabaseEngine.exe

步骤二:

如果已安装Acess,出现这个问题的原因是:64位的PC系统上安装了Office的32位版本,而Visual Studio 2010则是64位的,默认生成的是64位程序,这样就造成了程序的不兼容,导致报错。解决方法:在Visual Studio的项目属性里,将生成(build)的目标平台(platform target)由Any CPU改为x86,这样生成(build)出来的就是32位的程序。

posted @ 2014-08-20 16:54  天琊蓝  阅读(871)  评论(4编辑  收藏  举报