OLEDB连接访问Excel2007错误的三种解决方案

本人在windows 2008 r2 x64版本的操作系统中通过OLEDB提供程序连接访问Excel2007/2003时,程序会报如下错误:

创新互联建站专注于企业成都营销网站建设、网站重做改版、鄂州网站定制设计、自适应品牌网站建设、H5场景定制商城网站建设、集团公司官网建设、成都外贸网站建设公司、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为鄂州等各大城市提供网站开发制作服务。

System.InvalidOperationException: The 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine.

查找资料认为产生此种错误的原因有两种:

1、在Windows2008r2 x64 OS,在没有装Office2007客户端时,或没有安装“数据连接组件”。

2、当前Web应用程序的应用程序池是64位的Sharepoint应用程序池下时,因为提供连接Excel的provider不支持当前64版本的操作系统。

解决方法:

1方案:安装MS的数据连接组件AccessDatabaseEngine(或安装office 2007客户端),并将当前承载通过oledb提供程序去访问Excel2007的Web application对应的应用程序池“启用兼容32位应用程序”,在对应的 IIS 应用程序池中,“设置应用程序池默认属性”右击/“高级设置”/"启用32位应用程序",设置为 true。

2方案:安装AccessDatabaseEngine_64版并且要安装64位版的office 2010客户端。

3方案:若目标应用程序不能将应用程序池"启用兼容32位应用程序",只能在64位应用程序池下运行,且又想有上传Excel的功能,可按如下方式:

a、创建Asp.net WebService application 程序,并通过WebService来连接访问Excel。

b、将此webservice application的应用程序池按方案1方式设置“启用兼容32位应用程序”。

c、在目标应用程序中添加此webservice。

本文就介绍到这里,希望能对您有所收获!

文章名称:OLEDB连接访问Excel2007错误的三种解决方案
链接URL:http://www.mswzjz.com/qtweb/news24/174974.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联