【问题标题】:Forcing web app to run in 32-bit from web.config?强制 web 应用程序从 web.config 以 32 位运行?
【发布时间】:2012-09-05 06:00:58
【问题描述】:

我正在尝试从 ASP.NET aspx 页面 (C#) 连接到访问数据库,但收到错误消息:

“Microsoft.Jet.OLEDB.4.0”提供程序未在本地注册 机器。

经过一番研究,我怀疑这是因为服务器是 64 位的,与访问数据库交互的 Jet 驱动程序不支持 64 位。以前的解决方案建议要么强制 web 应用程序以 32 位模式运行,而不是“任何 cpu”,要么升级到服务器上的驱动程序的 64 位版本。问题是我没有对服务器的直接管理员访问权限,只有文件夹访问权限来编辑文件(包括 web.config)。所以我的问题是.. 是否可以仅通过 web.config / aspx 文件中的设置强制脚本以 32 位模式运行? (即,没有服务器/IIS 更改)否则将不得不与官僚机构作斗争才能对服务器进行更改;-)

谢谢大家

【问题讨论】:

    标签: c# asp.net iis web-config oledb


    【解决方案1】:

    您可以尝试在 applicationPoolDefaults 上设置 enable32BitAppOnWin64 属性:

    可选的布尔属性。

    如果为 true,则允许 32 位应用程序在运行 64 位版本的 Windows。

    默认值为假。

    <applicationPools>
       <add name="DefaultAppPool" />
       <applicationPoolDefaults enable32BitAppOnWin64="True">
       </applicationPoolDefaults>
    </applicationPools>
    

    我承认我自己从未尝试过,但它应该可以工作。

    【讨论】:

    • 除非我把它放在错误的地方,这似乎不能从 web.config 设置 =( 给我一个内部服务器错误。
    • 已验证,无法使用。这是一个全局级别的 IIS 设置。
    • 感谢您检查 nunespascal。珍惜你的时间。也许不可能……我会开始用棍子戳管理员。
    猜你喜欢
    • 1970-01-01
    • 2011-11-20
    • 2011-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多