导入零件信息发生错误:未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序_韩某的博客-CSDN博客

来源: 导入零件信息发生错误:未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序_韩某的博客-CSDN博客

问题描述:

开发导入excel文件时报错“导入零件信息发生错误:未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序”

电脑环境:系统64位,但pc安装的是office2007,32位的

网上查阅相关资料,发现解决方法基本上都是安装“Microsoft Access Driver”数据库引擎,

微软的官方链接“Download Microsoft Access 2010 数据库引擎可再发行程序包”,

点进有两个安装文件

因为电脑是64位的,所以先下载安装的x64的,结果并没有解决问题。

然后又试了试32位的,但仍然不行。

然后参考这个问题的百度知道回答,在IIS管理器中设置启用32位应用程序,单还是不行。

此时已经一脸懵逼了,搞不懂这个问题,然后继续尝试。

 

这个匿名用户的回答虽然图片看不清,但是赞却很多,再看看评论,发现很多网友据此解决了问题,顺着一个评论的思路进行如下设置

 

解决方案右键属性

 

点击属性,平台默认是“Any CPU”

 

点击“配置管理器”,进入配置管理页面,此时“活动解决平台”也是“Any CPU”,下拉此框,选择新建

 

新建x86,点击确定,会发现配置管理器中“活动解决方案平台”变为了x86

 

属性页平台处也变为x86,点击确定

 

然后就可以F5重新调试项目了,发现导入成功,问题解决了。

笔记本装的是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位的程序。

赞(0) 打赏
分享到: 更多 (0)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏