Erro na classe de conexão Firebird[RESOLVIDO]

12 respostas
S

Pessoal estou realmente começando a estudar banco de dados.
Estou com um problema logo na conexão.
Está aparecendo essa mensagem de erro:

Não foi possível conectar ao banco: Resource Exception. Unable to complete network request to host “localhost”.
Reason: Unable to complete network request to host “localhost”.

Desde já agradeço a paciência.
Se estiver algum erro na formatação do texto, só falar pra na próxima ser corrigido.
A minha classe de conexão está abaixo.

package Eco.ConexaoBanco;

import java.beans.Statement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class CriaConexaoBanco {
    public static Connection getConexao() throws SQLException {
    Connection con=null;
          try {
         Class.forName("org.firebirdsql.jdbc.FBDriver");
         con =
            DriverManager.getConnection(
               "jdbc:firebirdsql:localhost/3050:C:/ecosis/dados/cadastro.gbd",
               "sysdba",
               "masterkey");
            Statement stm = (Statement) con.createStatement();
      } catch (Exception e) {
         System.out.println("Não foi possível conectar ao banco: " + e.getMessage());

      }
            return con;
   }
    public static void main(String args[]) throws SQLException {
        Connection conexao = new CriaConexaoBanco().getConexao();
    }
}

12 Respostas

delki8

Cara da uma olhada no nome do seu banco de dados. As bases de dados Firebird tem extensão .FDB ou .GDB no seu código você colocou .GBD, veja se não é isso.

S

Não é isso cara.
Depois que poste verifiquei este erro.
Ajeitei mas continua dando a mensagem do host.

delki8

Outra coisa: da uma olhada no seu import, vc ta importando java.beans.Statement, se eu não me engano o import correto é java.sql.Statement Outro detalhe que acho que talvez nem esteja fazendo diferença mas no seu main você só deve colocar:
Connection conexao = CriaConexaoBanco().getConexao();

sem esse new, já que o método que você está chamando já vai instanciar a conexão com o banco.

Se ainda não der certo, tira a porta padrão do firebird, o 3050. Aqui tenho uma classe conectando numa base assim o:
jdbc:firebirdsql:localhost:/home/delki8/desenvolvimento/bancos_de_dados/estudo.fdb

S

Cara não deu certo.
Vamos do básico.
O primeiro de tudo é instalar o ODBC. Não é isso?
Depois coloca o firebirdsql.jar, firebirdsql-full.jar, firebirdsql-pool e firebirdsql-test dentro Drivers em Serviço.
Existe mais algum outro passo?

Estou usando o firebird 1.5.

delki8

Eu costumo usar o firebird 2.1, não conheço o 1.5 direito. Nas minhas importações eu coloco só o firebirdsql-full.jar nem coloco os demais.

Você podia passar a mensagem de erro completa, do jeito que ela ta aparecendo no console pra gente tentar descobrir junto.

emanuelCruz

Na verdade você só precisa:

  • Instalar o Firebird na tua máquina
  • Incluir o driver JDBC ao classpath, eu utilizo o JayBird (jaybird-full-2.1.6.jar)

Não precisa outro jar

Outra coisa, normalmente o usuário padrão é SYSDBA (em maiúsculas) e não sysdba.

Você consegue se conectar fora do java ? Digo isso porque o erro é ao localizar o “localhost”

S

A mensagem de erro é essa mesmo que postei em negrito.
Eu instalei o firebird.
Essa parte incluir no classpath é em drives em serviço, não é isso?

Pois é. Eu estava conseguindo, mas depois desinstalei e instalei, mas agora não consigo acessar a base atraves do IbExpert.

delki8

Vacilo meu, tinha que ter visto se o FB tava rodando primeiro.

“Where is classpath” justificado :wink:

emanuelCruz

Com “incluir o jar do firebird no classpath” quero dizer que incluir o arquivo em uma pasta qualquer do seu projeto não quer dizer que ele irá usá-lo, para isso é necessário adicioná-lo ao classpath da sua aplicação. Pelo eclipse / netbeans é bem fácil fazer isso.

Mas claro, primeiro tens que resolver o problema do firebird que não está rodando.

S

Galera obrigado eu conseguir resolver a bronca da conexão.
No código apenas troquei a extensão do banco.
Mas a bronca tava no firebird mesmo, eu reinstalei e funcionou a parada.
Muito obrigado aí pela ajuda.
Mas vou continuar por aqui qualquer coisa eu coloco a duvida aqui.
Abraço.

delki8

A perfeito, não esquece de colocar [RESOLVIDO] no tópico só pra servir de consulta pros outros usuários.

S

Pronto. Valeu

Criado 5 de agosto de 2011
Ultima resposta 6 de ago. de 2011
Respostas 12
Participantes 3