Driver de conexão à banco MS Access

11 respostas
mrapha

Olá,

alguém sabe que driver eu uso pra acessar um banco de dados MS ACCESS?

Obrigado.

11 Respostas

G

Bom dia,

http://imasters.uol.com.br/artigo/2444?cn=2444&cc=15

flw.

leonardom

Use o JDBC-ODBC Bridge

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

String url = "jdbc:odbc:MyAccessDB";
Connection con = DriverManager.getConnection(url, user, pass);
T

Use o JDBC-ODBC Bridge (que existe em qualquer instalação do JDK no Windows, mas não existe para Linux. )

P

Não existe um driver específico para o Access. Você deve usar o driver ODBC padrão:

Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver" );
Connection conn = DriverMannager.openConnection("jdbc:odbc:<caminho para o seu arquivo Access>", "", "");
klayrocha

propria api basica de Java já fornece um driver para acessar uma fonte de dados via ODBC. Vc vai apenas precisar configurar uma fonte de dados para o seu arquivo do access e depois acessar a fonte de dados via jdbc odbc. O nome do driver é sun.jdbc.odbc.JdbcOdbcDriver e a url para acessar a fonte de dados é “jdbc:odbc:nome_da_fonte_de_dados”.

mrapha

Valeu gente! Obrigado pela força!!
Eu precisei mesmo configurar a Fonte de Dados OBDC no Painel de Controle para então usar a biblioteca JDBC-ODBCBridge nativo do NetBeans.

Muito obrigado a todos pela força!
Abraços!

Astarote

:lol: BOA TARDE!

EU CRIEI UMA CONEXAO AO BANCO DE DADOS ACCESS QUANDO EU RODO A APLAICAÇÕES A CONEXAO E REALIZADA COM SUCESSO MAS QUANDO EU TENTO USAR O INSERT ME RETORNA A SEGUINTE MENSAGEM "
Exception in thread “AWT-EventQueue-0” java.lang.Error: Unresolved compilation problems:
tb_Cad.statement cannot be resolved or is not a field
The method executeSQL(String) is undefined for the type String
tb_Cad.resultset cannot be resolved or is not a field"

klayrocha

Poste o exemplo do seu código para melhor análise.

Astarote

desculpe não tem consulta esqueci de tirar esta linha
o problema esta no insert

private void btnSalvarActionPerformed(java.awt.event.ActionEvent evt) {

try

{

JTextComponent cd_Codigo;

JTextComponent txt_NomeSegurado;

JTextComponent dt_Nascimento;

JTextComponent cd_Sexo;

JTextComponent cd_CPF;

JTextComponent txt_End;

JTextComponent txt_Bairro;

JTextComponent cd_NumeroRes;

JTextComponent txt_Complmento;

JTextComponent cd_Produto;

JTextComponent val_Premio;
String SQLInsert = "insert into tbCadastro (cd_Codigo,txt_NomeSegurado,dt_Nascimento,cd_Sexo,cd_CPF,txt_End,txt_Bairro,txt_Complmento,cd_NumeroRes,cd_Produto,val_Premio) " +" values ('"+   
  	        cd_Codigo.getText()+"','"+   
	                txt_NomeSegurado.getText()+"','"+   
	                dt_Nascimento.getText()+"','"+   
	                cd_Sexo.getSelectedText()+"','"+   
	                cd_CPF.getText()+"','"+   
	                txt_End.getText()+"','"+   
	                txt_Bairro.getText()+"','"+   
	                cd_NumeroRes.getText()+"','"+   
	                txt_Complmento.getText()+"','"+   
	                cd_Produto.getText()+"','"+   
	                val_Premio.getText()+"')";  

                            tbCadastro.statement.executeUpdate(SQLInsert);   
	JOptionPane.showMessageDialog(null,"Gravação realizada com Sucesso");   
	 }   
	 catch(SQLException erro)   
	 {   
	    JOptionPane.showMessageDialog(null,"Problemas com:  "+erro);   
      }   
  }
Thiago_Siqueira

Poste o código entre as tags [Code]…
Assim fica difícil analisar o seu código.

klayrocha

Primeiramente o erro está nesta linha:
tbCadastro.statement.executeUpdate(SQLInsert);

Não existe um objeto tbCadastro.

Pelo que eu entendi do seu código, o tbCadastro é o nome da tabela criada no access.

Seria mais ou menos assim:

Connection con;

PreparedStatement p_stm;

Statement stmt;

// Cria a conexão.

con = // recebe algum método que cria a conexão.

// Prepara o stmt

stmt = con.createStatement();

// executa a consulta

ResultSet rs = stmt.executeQuery(SQLInsert);

// Cria uma lista do objeto de retorno

ArrayList al = new ArrayList();
while (rs.next()){

ObjetoProduto bean = new  ObjetoProduto();	

bean.setCodigo(rs.getString(cd_Codigo));

bean.setNome(rs.getString(txt_NomeSegurado));

al.add(bean);

}
Criado 6 de abril de 2009
Ultima resposta 23 de jul. de 2010
Respostas 11
Participantes 8