» Conectando em diferentes versões do Access
09/09/2015    C#.NET

Olá!
Vou mostrar nesse artigo várias ConnectionStrings diferentes para realizar a conexão com banco de dados Access em várias versões e situações diferentes.
Estou usando nesse artigo o objeto OLEDB, mas as ConnectionStrings podem ser usadas em outros objetos de conexão e outras linguagens de programação também.

É necessário declarar as seguintes refências:

using System.Data.OleDb;
using System.Data;
    


Access 2013, 2010, 2007

» Conexão simples:

OleDbConnection dbcon;
dbcon = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0; Data Source=C:pasta/dados.accdb; Persist Security Info=False;");
dbcon.Open();
    
Primeiro criamos a variável do tipo OleDbConnection que será responsável pela conexão.
Depois criamos a conexão passando os valores do banco de dados (tipo de mecanismo, caminho do banco, se irá utilizar login ou não).
E por último abrimos a conexão com o comando  Open.

» Conexão com senha:
Além dos parâmetros da conexão simples, também colocamos a senha no final.

OleDbConnection dbcon;;
dbcon = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0; Data Source=C:pasta/dados.accdb; Jet OLEDB:Database Password=suasenha;");
dbcon.Open();


Access 2003, 2002, 2000, 97
Para essas versões mais antigas, mudaremos alguns parâmetros e trocaremos o Provider Microsoft.ACE.OLEDB.12.0 pelo Microsoft.Jet.OLEDB.4.0.

» Conexão Simples:

OleDbConnection dbcon;
dbcon = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:pasta/dados.mdb; User Id=admin; Password=;");
dbcon.Open();
        
» Conexão com Senha:
OleDbConnection dbcon;
dbcon = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:pasta/dados.mdb; Jet OLEDB:Database Password=minhasenha;");
dbcon.Open();
        


Dicas
» Em alguns casos, ocorrem erros em senhas com mais de 14 caracteres ou caracteres especiais. Então eu aconselho utilizar senha com menos de 14 caracteres e sem caracteres especiais.

» Para não precisar informar todo o caminho do banco, você pode pegar o caminho físico da aplicação e somente informar a pasta do banco de dados.

dbcon = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" + HttpContext.Current.Request.PhysicalApplicationPath + "App_Data/dados.accdb; Persist Security Info=False;");
    dbcon.Open();
        

Se gostou desse artigo curta e compartilhe.
Até a próxima!




Comentários