zoukankan      html  css  js  c++  java
  • 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 。至此全解决。

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

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

  • 相关阅读:
    easyui-datetimebox设置默认时分秒00:00:00
    分页工具类的封装
    关于查询排序DTO的封装
    android签名生成和发布
    android httpclient 设置超时
    Eclipse 模拟http 请求插件Rest Client
    volley 发送post请求
    mac book 华为C8815不能debug
    android一些小技巧
    PS相关技术
  • 原文地址:https://www.cnblogs.com/ituff/p/2858550.html
Copyright © 2011-2022 走看看