2009-07-29 15 views
6

Próbuję utworzyć nową witrynę DotNetNuke na naszym 64-bitowym serwerze, a ja" m spotykając się następujący komunikat o błędzie:"Dostawca Microsoft.Jet.OLEDB.4.0" nie jest zarejestrowany na komputerze lokalnym "... DNN

„The«Microsoft.Jet.OLEDB.4.0»usługodawca nie jest zarejestrowany na komputerze lokalnym”

wiem z doświadczenia, że ​​napotkasz tym przypadku kierowania się 64- bit bit na maszynie 64-bitowej (obecnie nie ma 64-bitowego dostawcy OLE-DB). W takim przypadku po prostu celuję w x86 w Visual Studio i wszystko działa dobrze.

Jednak w tym przypadku witryna korzysta z dynamicznej kompilacji, więc nie ma prostego miejsca na określenie, że muszę kierować reklamy na x86. jakieś pomysły?

TIA.

+0

Wiem, że to prawdopodobnie głupie pytanie, ale czy jest poprawna wersja składników MDAC zainstalowanych na serwerze? – David

+0

Tak, nie głupie pytanie. Mam tu kilka innych witryn, ale nie używają one dynamicznej kompilacji i nie sądzę, żeby korzystały z Jet. W każdym razie biblioteki DLL są obecne w pudełku, a wersja zgodna z 2003 SP2. –

+0

Dlaczego w ogóle korzysta z Jet/OLEDB?Powinno to być bezpośrednio na serwerze SQL. Czego używasz dla swojego ciągu połączenia? – EfficionDave

Odpowiedz

7

Możesz zmienić pulę aplikacji, w której działa ta witryna, aby działała jako aplikacja 32-bitowa. W menedżerze IIS7, w sekcji "Ustawienia zaawansowane" puli aplikacji, a następnie ustaw "Włącz aplikacje 32-bitowe" na wartość true.

Można również zrobić to z AppCmd z konsoli z następujących czynności:

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

W IIS6 - można spróbować coś takiego (2 linie tu uruchomić aspnet_regiis po zakończeniu zmiany wartości metabazy) .. .

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

Zobacz następujące po więcej informacji:

+0

Wygląda na to, że jesteśmy na dobrej drodze, ale to jest IIS 6.0. Czy jest to coś, co mogę edytować bezpośrednio w metabazie? –

+0

+1 za pomoc w rozwiązaniu mojego mrocznego problemu po raz kolejny. Dzięki! – Mercurybullet

+0

+1 dla informacji o appcmd – TheVillageIdiot

3

HI, teraz Microsoft wydała Office System 2010 Beta sterowników: dane składniki Łączność który jest obsługiwany zarówno 32-, jak i 64-bitowym systemie operacyjnym. Tak więc użycie tego sterownika zamiast tradycyjnego sterownika Microsoft.Jet.OLEDB.4.0 da nam 64-bitową aplikację działającą na 64-bitowym serwerze (to jest to, czego naprawdę potrzebujemy).

Chociaż jest to w wersji beta, działało dobrze dla mnie.

Możesz pobrać ten sterownik od 2010 Office System Driver Beta: Data Connectivity Components

Thnks

1

Nie należy próbować kierować wniosek do 32-bit w takim przypadku tracą zalety korzystania z systemu 64-bitowego. Jak już zaznaczyła firma Aaa, można użyć najnowszej wersji Access Database Engine 2010, aby rozwiązać ten problem. Proszę zapoznać się z my blog post dla kompletnego rozwiązania.

Mam nadzieję, że to pomaga.

Powiązane problemy