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.


[ Hits: 31.194 ]

Por: Alessandro de Oliveira Faria (A.K.A. CABELO) em 05/09/2003 | Blog: http://assuntonerd.com.br


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
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.html
Agora ao conteúdo da pasta lib:

# ls lib
jaas.jar  log4j-core.jar  mini-concurrent.jar  mini-j2ee.jar
Apagaremos 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();
         }
      }
   }
}

Compilando o programa:

# javac Bco.java

Executando o programa:

# java Bco

   

Páginas do artigo
   1. Introdução
Outros artigos deste autor

Transmitindo vídeo de eventos ao vivo via Internet com GNU/Linux

Testamos: Visual Basic 8 .NET no Linux. Vejam o resultado!

Neste Natal: liberte o seu Motorola Atrix, e o transforme no desktop perfeito

Brasil apimenta a guerra do software livre

UZIX - O Linux do MSX (Z80)

Leitura recomendada

Criando classe Java para conectar e manipular dados no MySQL

Imagens e áudio no banco de dados Oracle

Arch Linux + NetBeans + MySQL + Oracle 10g

Trabalhando com Java e SQL (parte 1)

Escrevendo aplicações com MySQL e Java

  
Comentários
[1] Comentário enviado por cezar em 10/09/2003 - 15:17h

como seria esta aplicação no ruindows? é possível?

[2] Comentário enviado por cabelo em 10/09/2003 - 18:29h

Rodei no windows sem problema nenhum.

[3] Comentário enviado por butters em 16/01/2004 - 11:39h

Está de parabéns pela matéria

[4] Comentário enviado por jose_maria em 04/03/2004 - 19:02h

Eu tô "pelejando" para fazer isto com o mysql no linux.

[5] Comentário enviado por alazzari em 19/04/2004 - 13:44h

De duas uma... ou o java me odeia ou eu odeio o java....
To com o seguinte erro ao compilar o codigo no NetBeans:

app/frmStart.java [64:1] unreported exception java.sql.SQLException; must be caught or declared to be thrown
Connection conn = DriverManager.getConnection("jdbc:firebirdsql:192.168.0.1/3050:/disco_02/dados/Sislote1.gdb", "sysdba", "masterkey");

E não sei como e o que fazer ???

[6] Comentário enviado por jfmartinatti em 03/11/2005 - 08:43h

to com o seguinte erro

java.lang.ClassNotFoundException: org.firebirdsql.jdbc.FBDriver

estou utilizando o NetBeans no Linux.

Vc pode me ajudar ???

[7] Comentário enviado por michellucio em 10/11/2005 - 11:02h

bom artigo. Parabéns

[8] Comentário enviado por terelinesil em 07/11/2007 - 09:35h

Bom.

[9] Comentário enviado por fernandovale em 05/02/2013 - 08:53h

Opa,

Muito bom, porém aqui ta dando o seguinte erro:

excessao ClassNotFound...
java.lang.ClassNotFoundException: org.firebirdsql.jdbc.FBDriver
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:188)
at Bco.main(Bco.java:12)
Exception in thread "main" java.lang.NullPointerException
at Bco.main(Bco.java:39)

Segui tudo como diz ai e nada, pesquisei bastante e não to achando, e cara uma migração ta parada dependendo só disso se puder dar uma força...


Contribuir com comentário