强制Web应用程序从web.config以32位运行?

时间:2012-09-05 06:00:59

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

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

  

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

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

全部谢谢

1 个答案:

答案 0 :(得分:1)

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

  

可选的布尔属性。

     

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

     

默认值为false。

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

我承认我自己从未尝试过,但它应该有用。