Márcio Fábio Althmann

Dica: Resolvendo problemas com Vista 64, IIS e Access

Pessoal vai uma dica importante para quem pretende desenvolver com Windows 64 bits rodando os sites no IIS utilizando Access.

Bom o primeiro problema é que utilizando OleDb ele não funciona caso o aplicativo não esteja compilado para x86, então ao tentar executar algo aparece a seguinte mensagem de erro:

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

Bom então para resolver esse problema devemos forçar a compilação do nosso aplicativo para x86, clique com o botão direito no projeto dentro do Solution Explorer e depois em Propriedades. Na guia Build escolha Plataform target para x86.

x86

Feito isso publique novamente o site no IIS, e agora outro erro ocorrerá, o site não vai mais abrir, agora para resolver o problema temos que configurar o Application Pool do IIS para aceitar aplicativos 32 bits.

PoolAplicativos

Bom, agora o site volta a funcionar e o erro do provider não ocorre mais, mas temos que tomar cuidado com mais um detalhe, como é Access o arquivo pode estar configurado como Somente Leitura, caso esteja o seguinte erro vai ocorrer ao tentar salvar algo no banco.

Microsoft OLE DB Provider for ODBC Drivers
A operação deve usar uma consulta atualizável.

Caso isso ocorra é só dar permissão de escrita para o usuário do IIS no arquivo.

Bom é isso ai, caso forem utilizar Windows 64bits, IIS e access é só seguir os passos descritos aqui que tudo funcionará.

Abraços.

Comentários

eduardosobrinho disse:

Olá.

Estou aprendendo ASP.NET e estou com este mesmo problema em meu laptop (64 bits rodando o Vista professional com office 2003).

Antes de ler a sua dica eu havia tentado uma outra que sugeria instalar o MDAC do Acess 2009. Não funcionou.

Agora estou tentando seguir a sua dica usando o Visual Studio 2008, rodando uma aplicação WEB local no IIS que está configurado e funcionando corretamente.

Ao abrir a guia 'Build' em Propriedades do 'Solution Explorer' (na verdade em 'Propriedades da Página') não encontrei uma opção para alterar valores em 'Plataform target' para x86. O máximo que encontrei foi 'Target Framework'.

Você saberia me ajudar no meu caso? Creio que a solução apresentada no seu Blog se aplica em aplicações Desktop, não é?

Obrigado e grande abraço.

# March 5, 2009 6:36 PM

eduardosobrinho disse:

No meu comentário anterior, por favor, desconsidere a pergunta sobre aplicações Desktop. Ao reler seu post com mais calma percebi que confundi o seu texto com um outro que acabei de ler.

Obrigado.

# March 5, 2009 6:40 PM

Aguiamay disse:

\o/

Mano, vou te dar um beijo! hahaha!!

Eu to com esse problema a mil anos, tava qse ficando louco!!

Obrigado!!

# May 14, 2009 11:24 PM

Blog do Miranda » Resolvendo problemas com Vista/7 64, IIS e Access. disse:

Voltar de  Blog do Miranda » Resolvendo problemas com Vista/7 64, IIS e Access.

# September 20, 2011 2:22 PM