Conectando com Bco Interbase/Firebird em Java
Este tutorial explica de maneira fácil, onde encontrar, instalar e conectar com banco de dados Firebird/Interbase via JDBC.
Introdução
Este tutorial explica de maneira fácil, onde encontrar, instalar e
conectar com Bco Firebird/Interbase via JDBC.
Em primeiro lugar, vou partir da premissa que o firebird/interbase e java esteja instalado e configurado corretamente. Caso contrário, existe em www.vivaolinux.com.br um artigo elaborado pelo Junior que contempla toda a instalação do java 2 SE (Instalando e Configurando o JAVA). Portanto não entrarei em detalhes neste tópico.
Criaremos o diretório jdbc:
# cd /usr/java/j2sdk1.4.1_04/jre/
# mkdir jdbc
# cd jdbc
Vamos efetuar o download do jdbc que é necessário para o funcionamento do processo de conexão com qualquer bco de dados. No link abaixo, você encontrará o arquivo JDBC2 (jdbc2_0-stdext.jar). Efetue o download desde arquivo, e o salve na pasta que acabamos de criar. Agora efetue o download do jdbc tipo 4 (conexão direta como banco) do Firebird/Interbase. Descompactando o arquivo:
# unzip FirebirdSQL-1.0.0.zip
Archive: FirebirdSQL-1.0.0.zip
inflating: firebirdjmx.jar
inflating: firebirdsql-full.jar
inflating: firebirdsql-test.jar
inflating: firebirdsql.jar
inflating: firebirdsql.rar
creating: lib/
inflating: lib/mini-concurrent.jar
inflating: lib/mini-j2ee.jar
inflating: lib/jaas.jar
inflating: lib/log4j-core.jar
inflating: faq.html
inflating: FAQ.txt
inflating: JDBC20_conformance.html
inflating: release_notes.html
O conteúdo da pasta jdbc deverá ser semelhante a isto:
# ls
# ls lib
# rm -f FirebirdSQL-1.0.0.zip
inclua esta linha do arquivo /etc/profile:
Em primeiro lugar, vou partir da premissa que o firebird/interbase e java esteja instalado e configurado corretamente. Caso contrário, existe em www.vivaolinux.com.br um artigo elaborado pelo Junior que contempla toda a instalação do java 2 SE (Instalando e Configurando o JAVA). Portanto não entrarei em detalhes neste tópico.
Criaremos o diretório jdbc:
# cd /usr/java/j2sdk1.4.1_04/jre/
# mkdir jdbc
# cd jdbc
Vamos efetuar o download do jdbc que é necessário para o funcionamento do processo de conexão com qualquer bco de dados. No link abaixo, você encontrará o arquivo JDBC2 (jdbc2_0-stdext.jar). Efetue o download desde arquivo, e o salve na pasta que acabamos de criar. Agora efetue o download do jdbc tipo 4 (conexão direta como banco) do Firebird/Interbase. Descompactando o arquivo:
# unzip FirebirdSQL-1.0.0.zip
Archive: FirebirdSQL-1.0.0.zip
inflating: firebirdjmx.jar
inflating: firebirdsql-full.jar
inflating: firebirdsql-test.jar
inflating: firebirdsql.jar
inflating: firebirdsql.rar
creating: lib/
inflating: lib/mini-concurrent.jar
inflating: lib/mini-j2ee.jar
inflating: lib/jaas.jar
inflating: lib/log4j-core.jar
inflating: faq.html
inflating: FAQ.txt
inflating: JDBC20_conformance.html
inflating: release_notes.html
O conteúdo da pasta jdbc deverá ser semelhante a isto:
# ls
FAQ.txt firebirdjmx.jar firebirdsql.rar FirebirdSQL-1.0.0.zip firebirdsql-full.jar jdbc2_0-stdext.jar JDBC20_conformance.html firebirdsql-test.jar lib faq.html firebirdsql.jar release_notes.htmlAgora ao conteúdo da pasta lib:
# ls lib
jaas.jar log4j-core.jar mini-concurrent.jar mini-j2ee.jarApagaremos o arquivo compactado por não precisar mais dele:
# rm -f FirebirdSQL-1.0.0.zip
inclua esta linha do arquivo /etc/profile:
CLASSPATH="$CLASSPATH:/usr/java/j2sdk1.4.1_04/jre/jdbc/jdbc2_0-stdext.jar: /usr/java/j2sdk1.4.1_04/jre/jdbc/firebirdsql.jar: /usr/java/j2sdk1.4.1_04/jre/jdbc/lib/jaas.jar: /usr/java/j2sdk1.4.1_04/jre/jdbc/lib/log4j-core.jar: /usr/java/j2sdk1.4.1_04/jre/jdbc/lib/mini-concurrent.jar: /usr/java/j2sdk1.4.1_04/jre/jdbc/lib/mini-j2ee.jar"
Segue abaixo um exemplo de conexão com o Bco em Java:
import java.sql.*;
public class Bco
{
public static void main(String args[])
{
System.out.println("#testando acesso a banco de dado Interbase\n\n");
Connection conn = null;
String teste = "SELECT NOME FROM TAB_CLI_001;";
try
{
Class.forName("org.firebirdsql.jdbc.FBDriver");
conn = DriverManager.getConnection( "jdbc:firebirdsql:ip_do_servidor/3050:/caminho_do_bco_de_dados.gdb", "SYSDBA", "masterkey");
System.out.println("Sucesso na conexão! Massacre!\n");
Statement stm = conn.createStatement();
ResultSet rs = stm.executeQuery(teste);
while (rs.next())
{
String linha = rs.getString("NOME");
System.out.println("Cliente:" +linha);
}
System.out.println("select realizado\n");
}
catch(ClassNotFoundException e)
{
System.out.println("excessao ClassNotFound...");
e.printStackTrace();
}
catch(SQLException e)
{
System.out.println("SQL Exception... Erro dos Bravos");
e.printStackTrace();
}
finally
{
try
{
conn.close();
}
catch(SQLException onConClose)
{
System.out.println("error on closing");
onConClose.printStackTrace();
}
}
}
}
public class Bco
{
public static void main(String args[])
{
System.out.println("#testando acesso a banco de dado Interbase\n\n");
Connection conn = null;
String teste = "SELECT NOME FROM TAB_CLI_001;";
try
{
Class.forName("org.firebirdsql.jdbc.FBDriver");
conn = DriverManager.getConnection( "jdbc:firebirdsql:ip_do_servidor/3050:/caminho_do_bco_de_dados.gdb", "SYSDBA", "masterkey");
System.out.println("Sucesso na conexão! Massacre!\n");
Statement stm = conn.createStatement();
ResultSet rs = stm.executeQuery(teste);
while (rs.next())
{
String linha = rs.getString("NOME");
System.out.println("Cliente:" +linha);
}
System.out.println("select realizado\n");
}
catch(ClassNotFoundException e)
{
System.out.println("excessao ClassNotFound...");
e.printStackTrace();
}
catch(SQLException e)
{
System.out.println("SQL Exception... Erro dos Bravos");
e.printStackTrace();
}
finally
{
try
{
conn.close();
}
catch(SQLException onConClose)
{
System.out.println("error on closing");
onConClose.printStackTrace();
}
}
}
}
Compilando o programa:
# javac Bco.java
Executando o programa:
# java Bco