CONECTAR PLATAFORMA .NET COM MS ACCESS 2013

RICKSEIFARTH 10/07/2013 21:35:44
#425847
Pessoal,

Boa noite!

Estou escrevendo esse tópico depois de muito, mas muito mesmo, procurar uma solução.

Estava eu, feliz e sorridente com minha nova licença do office 2013. Fiz a instalação, tudo lindo e maravilhos.

Tudo pronto! Agora vou executar minhas rotinas .NET que utilizam o ms Access como base de dados.

E adivinhem? é. Erro! Não encontrava o conector 12.0 do microsoft.ace.

Pois é, no início achei que era apenas mudar a versão do conector. Nada acontecia. Depois de muito pesquisar descobri o seguinte:

Esse tipo de conector no access está sendo extinto pela Microsoft. Ok, então fui no site da Microsoft e baixei o conector do office 2010 que todos falavam que funcionava. Advinhem? Nada.

Até que descobri o seguinte:

Pra quem tem o office versão x86, muito provavelmente vai dar tudo certo instalando o conector do office 2010, no entanto, quem utiliza a arquitetura x64 (e o instalador não permite que seja instalada a versão x86 no office 2013 x64)... Vai continuar ganhando uma tela de erro.

ENTAO QUAL A SOLUCAO?
Pelo incrível que pareça é baixar o driver de conexão access 2007 (que só tem na versão x86) e tudo volta a funcionar miraculosamente, sem ter que trocar, sequer uma linha de código. Então segue o link:
2007 Office System Driver http://www.microsoft.com/en-us/download/confirmation.aspx?id=23734

Boa sorte a todos!
Henrique Seifarth.

Aproveitando o post, se você gosta de futebol não perca o blog:
http://www.noticiasfutebolsocialclub.com.br

Eu sou o dono, e garanto que quando não estou com problemas com a Microsoft eu estou lá rs.
PROFESSOR 09/08/2013 19:53:12
#427365
Hehehe, isso é perfeitamente normal, e há muito tempo atrás eu já avisava, aqui mesmo no VBMania.

Os drivers de OleDb que o pessoal originado do VB6 utiliza são para uso com desenvolvimento em 32 bits, e não em x64. Para utilizar drivers OleDb de 32 bits, provedores Web de 64 bits disponibilizam a ODBC em ambientes apropriados, por exemplo, pois eles [Ô]mapeiam[Ô] de forma satisfatória esses drivers.

Drivers 32 bits de outros mecanismos, como o Oracle e o MySQL por exemplo, também quando usados via OleDb, também apresentam os mesmos [Ô]sintomas[Ô].

Na verdade, o que é preciso para resolver o problema nestes casos (32 bits) é marcar a solução para utilizar a plataforma x86 ao invés de Any CPU ou x64.

Para o caso específico do MS-Access (ACE) mais atual (com extensão [Ô].accdb[Ô]), a Microsoft disponibiliza (aqui) um [Ô]redistributável[Ô] que visa suplementar os antigos drivers de 32 bits. A última atualização desse pacote é de 2013, e já conta com o SP2 embutido.

Como sugestão, ao invés de utilizar um MS-Access como repositório, sem mais nada além do aplicativo, sempre é possível usar o MS-SQL Server Compact Edition, que suporta até 4 Gb em dados. Não é preciso instalar servidor, administrar ou configurar contas de serviço, nada, só o aplicativo, que por si mesmo opcionalmente (por código) ainda cria a própria base de dados, com ou sem senha. E ainda que exija alguma programação extra, a base pode ser criada e utilizada em rede por meio de componente de serviço ou usando o mesmo princípio de quem usa um MS-Access, só que sem vários dos seus inconvenientes.
Faça seu login para responder