Asp.net &引用;';微软.Jet.OLEDB.4.0';提供程序未在本地计算机上注册“;。。。DNN
我正在尝试在64位服务器上启动并运行一个新的DotNetNuke站点,遇到以下错误消息: “Microsoft.Jet.OLEDB.4.0”提供程序未在本地计算机上注册” 根据经验,我知道在64位机器上以64位程序集为目标时(目前没有64位OLE-DB提供程序)会遇到这种情况。在这种情况下,我只需在VisualStudio中以x86为目标,一切正常 但在本例中,该站点使用动态编译,因此没有简单的地方可以指定我需要以x86为目标。有什么想法吗Asp.net &引用;';微软.Jet.OLEDB.4.0';提供程序未在本地计算机上注册“;。。。DNN,asp.net,64-bit,oledb,dotnetnuke,Asp.net,64 Bit,Oledb,Dotnetnuke,我正在尝试在64位服务器上启动并运行一个新的DotNetNuke站点,遇到以下错误消息: “Microsoft.Jet.OLEDB.4.0”提供程序未在本地计算机上注册” 根据经验,我知道在64位机器上以64位程序集为目标时(目前没有64位OLE-DB提供程序)会遇到这种情况。在这种情况下,我只需在VisualStudio中以x86为目标,一切正常 但在本例中,该站点使用动态编译,因此没有简单的地方可以指定我需要以x86为目标。有什么想法吗 TIA。您可以将运行该站点的应用程序池更改为作为32位
TIA。您可以将运行该站点的应用程序池更改为作为32位应用程序运行。在IIS7管理器中,它位于应用程序池的“高级设置”下,然后将“启用32位应用程序”设置为true 您还可以通过以下控制台执行此操作:
appcmd apppool set /apppool.name:MyNukeSite /enable32BitAppOnWin64:true
在IIS6中,您可以尝试类似的操作(这里有两行,在完成更改元数据库值时运行aspnet_regis)
有关更多信息,请参见以下内容:
Thnks您不应该尝试将应用程序的目标设置为32位,在这种情况下,您将失去使用64位系统的优势。正如aaa指出的,您可以使用最新版本来解决此问题。有关完整的解决方案,请参阅
希望能有帮助 我知道这可能是一个愚蠢的问题,但服务器上安装的MDAC版本正确吗?是的,不是一个愚蠢的问题。我有很多其他的网站在这里运行,但是他们不使用动态编译,我认为他们也不使用Jet。在任何情况下,DLL实际上都存在于盒子上,并且版本与2003 SP2一致。为什么它要尝试使用Jet/OLEDB呢?它应该直接转到SQL Server。您的连接字符串使用了什么?听起来我们的思路是正确的,但这是IIS 6.0。这是我可以直接在元数据库中编辑的吗?+1再次帮助我解决了这个模糊的问题。谢谢
cscript %SystemDrive%\inetpub\AdminScripts\adsutil.vbs set w3svc/AppPools/Enable32bitAppOnWin64 1
aspnet_regiis.exe -i