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: 32.837 ]

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

Transforme seu celular em terminal sem fio SSH/Telnet

Transmitindo dados para relógios Timex Datalink no GNU/Linux

SIAGES: Uma oportunidade de negócio com software livre

Acessibilidade: Movimentos do mouse com a face (eViacam)

Biblioteca VBMcgi: Crie aplicações Web CGI em C++ com acesso ao banco Interbase/Firebird sem mistério

Leitura recomendada

Imagens e áudio no banco de dados Oracle

Arch Linux + NetBeans + MySQL + Oracle 10g

Criar um Pool de Conexão entre o GlassFish 3.1 e PostgreeSQL

Hibernate - Persistindo dados como se fosse objetos

Trabalhando com Java e SQL (parte 1)

  
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




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts