我正在尝试在我们的64位服务器上启动并运行一个新的DotNetNuke站点,我遇到以下错误消息:
“’Microsoft.Jet.OLEDB.4.0’提供程序未在本地计算机上注册”
我从经验中知道,当您在64位计算机上定位64位程序集时(当前没有64位OLE-DB提供程序),您会遇到此问题.在这种情况下,我只是在Visual Studio中定位x86,一切正常.
但在这种情况下,该站点使用动态编译,因此没有简单的地方来指定我需要定位x86.有什么想法吗?
TIA.
解决方法
您可以更改正在运行该站点的应用程序池,以作为32位应用程序运行.在IIS7管理器中,它位于应用程序池的“高级设置”下,然后将“启用32位应用程序”设置为true.
您也可以使用以下控制台从AppCmd执行此操作:
appcmd apppool set /apppool.name:MyNukeSite /enable32BitAppOnWin64:true
在IIS6中 – 你可以尝试这样的东西(这里有两行,完成更改元数据库值后运行aspnet_regi)…
cscript %SystemDrive%\inetpub\AdminScripts\adsutil.vbs set w3svc/AppPools/Enable32bitAppOnWin64 1 aspnet_regiis.exe -i
有关详细信息,请参阅以下内容
> http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/5d306956-b2a2-4708-9bb9-72a395d474bb.mspx?mfr=true
> http://blogs.msdn.com/irfanahm/archive/2008/12/15/how-to-use-a-32-bit-dll-in-asp-net-page-which-is-hosted-on-64-bit-iis.aspx
> http://support.microsoft.com/kb/895976