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

环境:

操作系统: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的运行了。


解决了。很开心!






  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值