quinta-feira, 24 de abril de 2008

Conexão: Java + Firebird

o intuito deste post é ajudar quem esta tendo dificuldades em efetuar conexão entre Java e Firebird. Será apresentadas duas classes simples, uma responsável pela conexão e a outra para testes.

1ª Classe - Conexao -responsavel pela conexão com firebird


import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class Conexao {

Connection con = null;
String status = null;

public String abrirConexao(){
status = "Falha na conexão.";

try{

// Comando responsavel pelo reconhecimento do driver jdbc
// OBS: baixar o driver relativo a versão do JDK que esta utilizando
Class.forName("org.firebirdsql.jdbc.FBDriver");
// Define a localização do banco de dados, usuario e senha
con = DriverManager.getConnection("jdbc:firebirdsql:localhost:C:/AGENDADB.FDB",
"sysdba",
"masterkey");
status = "Conectado com sucesso.";
}
catch(ClassNotFoundException excUm){
excUm.printStackTrace();
}
catch(SQLException excDois){
excDois.printStackTrace();
}
return status;
}

public String fecharConexao(){
status = "Falha ao finalizar conexão.";

try{
// Finaliza conexão com banco de dados
con = null;
status = "Conexão finalizada com sucesso.";
}
catch(Exception exc){
exc.printStackTrace();
}
return status;
}
}

2ª Classe - teste - testa conexão inserindo dados.

import java.sql.SQLException;
import java.sql.Statement;
import Agenda.Conexao.*;
public class teste {
Conexao conexao = new Conexao();
String status = null;

public teste(){

}

public String inserir(){
status = "Método não inicializado.";
try{
conexao.abrirConexao();
Statement stmt = conexao.con.createStatement();
String query = "insert into contatos(nome, endereco, telefone, email)" +
" values('nome um', 'endereco um', '(11)1111-1111', 'email@um');";
int resultado = stmt.executeUpdate(query);
if(resultado == 1){
status = "Dados Inseridos com sucesso.";
}
else{
status = "Dados não inseridos.";
}
conexao.fecharConexao();
stmt.close();
}
catch(SQLException exc){
exc.printStackTrace();
}
return status;
}

public static void main(String args[]){
teste testeDB = new teste();
testeDB.inserir();
System.out.print(testeDB.status);
}
}



Espero que tenha esclarecido um pouco sobre conexão entre Java e Firebird, lembrando que a classe conexão pode ser usada para outro SGBD mudando somente as linhas abaixo:


Class.forName("org.firebirdsql.jdbc.FBDriver");
con = DriverManager.getConnection("jdbc:firebirdsql:localhost:C:/AGENDADB.FDB",
"sysdba",
"masterkey");


Obrigado, até o próximo post.

Um comentário:

Anônimo disse...

Olá Douglas Raul eu gostaria de entrar em contato com você por email o meu é connectbrasilparana@gmail.com