VB .NET - Acesso ao Microsoft Access 2007 (.accdb)
Se você costuma usar o banco de dados Microsoft Access deve ter percebido que na versão 2007 do pacote Office houve uma alteração no formato do tradicional arquivo de banco de dados .mdb; a extensão mudou para .accdb e não foi só isso...
Nota: veja também o meu artigo : Erro - 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine
Quais as diferenças entre os formatos MDB e ACCDB ?
No Office Access 2007, o mecanismo de banco de dados Microsoft Jet é a parte do sistema de banco de dados do Access que recupera e armazena dados em bancos de dados do usuário e do sistema, foi personalizado para os aplicativos do 2007 Microsoft Office System.
Esta versão do Jet, específica para o Office, chama-se Access Database Engine e permite integração com o Windows SharePoint Services 3.0 e o Microsoft Office Outlook 2007 e a criação de campos de pesquisa de valores múltiplos, entre outros aperfeiçoamentos.
Os novos recursos do formato ACCDB são:
Campos de pesquisa de valores múltiplos A maioria dos programas de banco de dados, inclusive as versões anteriores do Access, permite armazenar um único valor em cada campo. No Office Access 2007, contudo, é possível criar um campo de pesquisa que permite armazenar mais de um valor em cada campo. Na realidade, o programa cria uma relação vários-para-vários dentro do campo e oculta os detalhes da implementação usando tabelas de sistema.
Tipo de dados Anexo O novo tipo de dados Anexo permite que você armazene facilmente todos os tipos de documentos e arquivos binários em seu banco de dados sem o aumento desnecessário do banco de dados. Os anexos são automaticamente compactados quando apropriado para maximizar o uso do espaço. Você pode anexar um documento do Microsoft Office Word 2007 a um registro ou salvar uma série de imagens digitais. Você pode até mesmo ter vários anexos em um único registro.
Integração com o Windows SharePoint Services 3.0 e com o Microsoft Office Outlook 2007 : Antigamente, os arquivos do Access ficavam bloqueados no Windows SharePoint Services 3.0 e no Office Outlook 2007 devido à possibilidade de incluir códigos inseguros no banco de dados do Access. O Office Access 2007 implementa um novo formato que permite determinar se um código é seguro ou está desativado. Isso possibilita uma integração muito mais completa entre os bancos de dados do Access e o Windows SharePoint Services 3.0 e o Office Outlook 2007, além de permitir que programas antivírus inspecionem muito mais facilmente arquivos incluídos em bancos de dados do Access;
Trabalhar com dados do SharePoint offline : Você pode deixar as listas do SharePoint offline com um clique usando o Office Access 2007. Utilize seus dados no Access e sincronize suas alterações ou reconecte-se ao site do SharePoint posteriormente;
Rastreamento do histórico do campo Memorando Os campos Memorando são úteis para armazenar grandes quantidades de informações. Iniciando com o Office Access 2007, você pode definir uma propriedade (AcrescentarSomente) que obriga o Access a manter um histórico de todas as alterações em um campo Memorando. Em seguida, você pode visualizar um histórico dessas alterações. Este recurso também suporta o recurso de controle de versão no Windows SharePoint Services 3.0 para que seja possível usar o Access para rastrear alterações em um campo Texto com várias linhas armazenado em uma lista do SharePoint (desde que o campo tenha a opção Acrescentar Alterações ao Texto Existente definida como Sim).
E como efetuar a conexão com um banco de dados no formato ACCDB usando o Visual Basic 2010 ?
Eu vou usar como exemplo um arquivo chamado Exemplo.accdb criado no MIcrosoft Access 2007 com a seguinte estrutura.
Vamos criar um novo projeto do tipo Windows Forms Application usando o Visual Basic 2010 Express Edition com nome AcessoOffice2007;
A seguir no formulário form1.vb vamos incluir um controle DataGridView;
A seguir no menu Data-> Add New Data Source;
Selecione o item DataBase e a seguir clique em Next;
Na próxima janela clique no botão New Connection e a seguir na janela Add Connection clique no botão Change;
Altere o Data Source para Microsoft Access DataBase File e clique em OK;
A seguir clique em Browse e localize onde esta o banco de dados clicando em OK para encerrar;
A seguir clique em Next> duas vezes e selecione a tabela Login do banco de dados e clique em FInish;
A string de conexão será criada no arquivo App.config conforme a figura abaixo:
< connectionStrings>< add name="AcessoOffice2007.My.MySettings.ExemploConnectionString" connectionString="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\Exemplo.accdb" providerName="System.Data.OleDb" /></ connectionStrings>
|
A string de conexão para acesso em uma pasta local é:
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\teste\Teste.accdb;Persist Security Info=False;
E se o banco de dados possuir uma senha a string de conexão ficará assim:
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\teste\Teste.accdb;Jet OLEDB:Database Password=Senha;
O DataSet será criado e estará pronto para ser usado. Vamos exibir a janela Data Source e em seguida selecionar a DataSet Login e arrastar para o formulário form1.vb;
Serão criados os componentes : ExemploDataSet, LOGINBIndingSource, LOGINTableAdapter , TableAdapter e LOGINBindingNavigator;
Selecione o LOGINBindingNavigator e na janela de propriedades defina a propriedade Dock como igual a None para poder arrastar o componente colocando logo abaixo do DataGridView;
Agora só resta executar o projeto...
A execução no Visual Studio 2010 ou no Visual Basic 2010 Express Edition deverá ocorrer sem problemas:
Se você estiver usando o Visual Basic 2008 ou o Visual Studio 2008 poderá receber a mensagem de erro:
"The 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine."
Verifique os seguintes itens:
Se você esta usando o VS Studio 2010 e/ou sua máquina é X64 ?
Então verifique se:
Se você já fez tudo isso e o erro persiste então vamos tentar outra solução...
Para resolver o problema você pode fazer seguinte:
Isso deve resolver ...
Eu sei é apenas , mas eu gosto...
Referências:
Veja os
Destaques e novidades do SUPER DVD Visual Basic
(sempre atualizado) : clique e confira !
Quer migrar para o VB .NET ?
Quer aprender C# ??
|
Gostou ?
Compartilhe no Facebook
Compartilhe no Twitter
Referências:
VB.NET - Tratando exceções de banco de dados ... - Macoratti.net
Esqueceu a string de conexão? - http://www.connectionstrings.com/