6
respostas

Classe Java 1.8 conectar Firebird

Olá, Segui algumas dicas, mas em todas elas tive o mesmo problema de não conectar com a base de dados Firebird. Alguém poderia analisar o código e me dizer onde estou errando?


import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;

public class Conexao {

    private static Connection conexao;

    public static Connection conectar() {
        try {
            try {
                Class.forName("org.firebirdsql.jdbc.FBDriver");
            } catch (ClassNotFoundException ex) {
                Logger.getLogger(Conexao.class.getName()).log(Level.SEVERE, null, ex);
            }

            conexao = DriverManager.getConnection(
                    "jdbc:firebirdsql:localhost/3050:C:\\ProjetosJava\\BASE.FDB",
                    "SYSDBA",
                    "masterkey");

            return conexao;

        } catch (SQLException ex) {
            System.out.println(ex.getMessage());
        }
        return null;
    }

    public static void desconectar() {
        if (conexao != null) {
            try {
                conexao.close();
            } catch (SQLException ex) {
                System.out.println(ex.getMessage());
            }
        }
    }

    public static void main(String[] args) throws ClassNotFoundException {
        Conexao.conectar();
    }
}
6 respostas

A impressão que tenho é que o problema esta na inclusão da biblioteca no projeto do Netbeans, mas ja tentei fazer e refazer mas não esta rodando. Se uso o netbeans para fazer uma conexão, ele conecta e lista as tabelas. Só não estou conseguindo pela classe.

run: Não foi possível conectar ao banco: org.firebirdsql.jdbc.FBDriver

Você tem que imprimir a stack inteira da exception, dessa forma vamos poder te ajudar melhor.

Olá,

Segue.

run: abr 10, 2018 9:32:25 AM database.Conexao conectar GRAVE: null No suitable driver found for jdbc:firebirdsql:localhost/3050:C:\ProjetosJava\BASE.FDB

java.lang.ClassNotFoundException: org.firebirdsql.jdbc.FBDriver at java.net.URLClassLoader.findClass(URLClassLoader.java:381) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:338) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:264) at database.Conexao.conectar(Conexao.java:19) at database.Conexao.main(Conexao.java:48)

CONSTRUÍDO COM SUCESSO (tempo total: 0 segundos)

Oi Mauro, realmente parece que o jar do firebird não está no classpath do seu projeto ou a url digitada não é a esperada para o driver do firebird. É um banco que nunca mexi, mas a exception indica isso.

Sim, também acho que é isso, mas não estou conseguindo resolver. Se uso o mysql, que o drive já vem na instalação padrão, e adicionando ele na classpath, a conexão funciona normal. Adicionando a do firebird da mesma forma, e pegando nas propriedades dele a url, não funciona.

Baixei a a ultima versão do driver (3.0), e li alguma coisa em outros fóruns que mudou a forma de acesso, e nessa versão não se usaria "Class.forName...". Mas na documentação deles, os exemplos usam assim....

Apanhando feio disso aqui, rss.

Opa Mauro, acho que agora não consigo mais te ajudar tanto... O problema indicação uma falta de driver ou url errada, mas caso seja alguma outra coisa, realmente eu não manjo :(.