您的位置:首页 > 理论基础

IIS下解析Excel文档“未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序”问题

2012-11-22 13:33 609 查看
环境:

操作系统:Windows 2003 Server 64bit

开发环境:Visual studio 2010

IIS6.0

Office 2007

做了个监控程序需要上传Excel文档并解析,上传没有问题(记得添加权限,赋予network service操作权限),但是解析的时候出问题了,报了个“未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序”错误,但是office都正常安装了,什么问题呢? 从昨天晚上一直弄到今天中午,才弄好。

从网上查了一下大家都说是jet驱动不支持64位操作系统的问题,我开始想下载了64bit的office应该没有问题,但是官方给说的是不区分32位和64位,但是我看了一下program files,在office的文件夹后边却跟了一个(32),也不知道微软怎么解析这个事情。

既然office那边没办法,只能从IIS这边想办法了,IIS7.0直接解决了这个问题,只需要更改一个属性就可以解决,但是6.0却需要自己通过命令行去修改这个参数。

具体修改办法:

1.命令行键入:

cscript.exe %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1

即设置IIS6允许32位程序运行在64位机器上

2.重新注册.net frameWorks

%SYSTEMROOT%\Microsoft.NET\framework\v2.0.\aspnet_regiis.exe -i(具体的版本以自己的实际情况为准,我的是4.0)

3.完成之后,看Web服务扩展,应该会多出一个32位的asp.net将其设置为允许,缺点:这样会使整个IIS上的所有站点都以32位兼容方式运行
这样就可以了,大家可以试试。不过这样的话以后的IIS上的项目都是以32bit的运行了。

解决了。很开心!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐