“Provedor Os 'Microsoft.Jet.OLEDB.4.0' não está registrado na máquina local” ... DNN

StackOverflow https://stackoverflow.com/questions/1201918

Pergunta

Eu estou tentando obter um novo site DotNetNuke instalado e funcionando em nosso servidor de 64 bits, e eu estou encontrando a seguinte mensagem de erro:

"O provedor 'Microsoft.Jet.OLEDB.4.0' não está registrado na máquina local"

Eu sei por experiência que você topar com isso quando você atingir um 64-bit de montagem em uma máquina de 64 bits (não há provedor OLE-DB de 64 bits atualmente). Nesse caso, eu simplesmente direcionar o x86 no Visual Studio e tudo funciona bem.

Mas, neste caso, o site usa compilação dinâmica, por isso não há lugar simples para especificar que eu preciso x86 alvo. Quaisquer pensamentos?

TIA.

Foi útil?

Solução

Você pode mudar o seu pool de aplicativo que você está executando o site sob a correr como uma aplicação de 32 bits. No gerenciador de IIS7, o seu em "Configurações avançadas" do seu pool de aplicativo, em seguida, defina "permitir que os aplicativos de 32 bits" para true.

Você também pode fazer isso com appcmd de um console com o seguinte:

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

Em IIS6 - você poderia tentar algo como isto (2 linhas aqui, run aspnet_regiis quando terminar de alterar o valor da metabase) ...

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

Veja a seguir para obter mais informações:

Outras dicas

HI, agora a Microsoft lançou o 2010 Office System driver beta: Componentes de Conectividade de Dados, que é apoiado tanto em 32 bits, bem como de 64 bits do sistema operacional. Então, usando este driver em vez do controlador Microsoft.Jet.OLEDB.4.0 tradicional nos dará um aplicativo de 64 bits em execução em um servidor de 64 bits (que é o que realmente necessidade).

Embora este está em beta, ele funcionou bem para mim.

Você pode baixar este driver de 2010 Office System driver beta: Componentes Os dados Conectividade

Thnks

Você não deve tentar atingir seu aplicativo para 32 bits, caso em que você está perdendo as vantagens da utilização de sistema de 64 bits. Como aaa tem fora pontas, você pode usar o mais recente Database Engine Access 2010 para resolver este problema. Por favor, consulte meu blog para uma solução completa.

Hope isso ajuda.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top