Pular para o conteúdo

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.


Alessandro de Oliveira Faria (A.K.A. CABELO) cabelo
Hits: 33.626 Categoria: Java Subcategoria: Banco de Dados
  • Indicar
  • Impressora
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

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:

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
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

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
   1. Introdução

Hbasic, um forte candidato open source para brigar com o Microsoft Visual Basic

Dominando o apt-get no Conectiva

GAMBAS: A definitiva resposta open-source ao Microsoft Visual Basic

OwnCloud : Crie a sua própria nuvem - Alternativa ao Dropbox

KDE Connect: Integrando o ambiente Android com o desktop Linux

Arch Linux + NetBeans + MySQL + Oracle 10g

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

Criando classe Java para conectar e manipular dados no MySQL

Hibernate - Persistindo dados como se fosse objetos

Trabalhando com Java e SQL (parte 1)

#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

Entre na sua conta para comentar.