2009-07-29 86 views
6

我試圖在64位服務器上啓動並運行一個新的DotNetNuke網站,米遇到以下錯誤消息:「Microsoft.Jet.OLEDB.4.0」提供程序未在本地計算機上註冊「... DNN

「的‘Microsoft.Jet.OLEDB.4.0’提供者未註冊在本地計算機上」

經驗告訴我,你當您定位64碰到這種在64位機器上(目前沒有64位OLE-DB提供程序)。在這種情況下,我只需在Visual Studio中定位x86,一切正常。

但在這種情況下,該網站使用動態編譯,所以沒有簡單的地方來指定我需要目標x86。有什麼想法嗎?

TIA。

+0

我知道這可能是一個愚蠢的問題,但是在服務器上安裝的MDAC的正確版本? – David 2009-07-29 18:15:00

+0

是的,不是一個愚蠢的問題。我有一堆其他網站在這裏運行,但他們不使用動態編譯,我不認爲他們也使用Jet。 在任何情況下,DLL實際上都出現在盒子上,並且版本與2003 SP2一致。 – 2009-07-29 19:04:05

回答

7

您可以將您正在運行該網站的應用程序池更改爲32位應用程序。在IIS7管理器中,在應用程序池的「高級設置」下,然後將「啓用32位應用程序」設置爲true。

你也可以用下面這樣做有AppCmd從控制檯:

appcmd apppool set /apppool.name:MyNukeSite /enable32BitAppOnWin64:true 

在IIS6 - (完成更改配置數據庫值的時候,這裏2號線,運行ASPNET_REGIIS),你可以嘗試這樣的事情.. 。

cscript %SystemDrive%\inetpub\AdminScripts\adsutil.vbs set w3svc/AppPools/Enable32bitAppOnWin64 1 
aspnet_regiis.exe -i 

詳情參見以下內容:

3

HI,現在微軟已經發布了2010 Office系統驅動器測試版:數據連接組件,其無論是在32位和64位操作系統的支持。因此,使用此驅動程序而不是傳統的Microsoft.Jet.OLEDB.4.0驅動程序將爲我們提供在64位服務器上運行的64位應用程序(這正是我們真正需要的)。

雖然這是在測試版,它對我來說工作得很好。

您可以從2010 Office System Driver Beta: Data Connectivity Components

Thnks

1

你不應該試圖針對您的應用程序的32位在這種情況下,你失去使用64位系統的優點下載此驅動程序。正如aaa指出的那樣,您可以使用最新的Access Database Engine 2010來解決這個問題。請參閱my blog post以獲取完整的解決方案。

希望它有幫助。

相關問題