64位下IIS配置调用Microsoft.Jet.OLEDB.4.0的asp.net网络应用

 Microsoft.Jet.OLEDB.4.0相信大部分同学都很熟悉,用可以十分方便连接Access数据、Excel文件,但是昨天在部署网站时遇到了一点麻烦。

当我在IIS里附加了网站以后,IIS显示错误信息“未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0”提供程序”,多方查找资料,才发现学校的那台服务器是64位,而Microsoft.Jet.OLEDB.4.0只能在32位环境下运行。

网上有很多关于在64位IIS运行32位程序的方法,其中最简单的是IIS7的设置,只要在对应的 IIS 应用程序池中,“设置应用程序池默认属性”/“常规”/”启用32位应用程序”,设置为 true。可惜学校的那台服务器跑的是2003 R2+IIS6的,这个就麻烦。

这里最简单、最可靠的解决方法是在编译网站时选择“生成->配置管理器->平台->点击Any Cpu选项卡->新建->新建平台->X86”。

如果没有VS平台,上面的方法岂不是没有用了,别急,我们还可以用控制台命令强制32位应用在64位IIS下运行,但是这可能会影响正常的Web应用程序运行(还好我没遇到,那台服务器上直挂了一个网站)。

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

3.完成之后,看(wan cheng zhi hou _kan)Web服务扩展,应该会多出一个32位的asp.net将其设置为允许,缺点:这样会使整个IIS上的所有站点都以32位兼容方式运行 。

运行IIS6,看看是不是解决了。

后续:如果还有问题,比如Service Unavailable,恭喜你,你可以学到新知识了。很讨厌,看一下错误日志,我遇到的是RpcProxy.dll无法加载和无法加载站点/服务的所有 ISAPI 筛选器错误。解决方法:打开iis-->查看“网站(cha2 kan4 _wang3 zhan4)”的属性--->ISAPI 筛选器-->把有向下的红箭头的项删除掉-->重启iis-->OK 。至此全解决。

 

最后:学习这些知识都是拜学工网所赐

文章引用网上很多文献,已不知原作者,对此表示感谢。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值