Erro de conexão com banco de dados sql

11 respostas
L

Eu estou tentando conectar um banco de dados mysql manualmente, porem ele esta retornando alguns erros que eu não consigo solucionar.
este é o meu código de conexão:

try {
            Class.forName("com.mysql.jdbc.Driver");
            Connection  conexao = DriverManager.getConnection("jdbc:mysql://127.0.0.1/BDTST", "root", "root");
            System.out.println("banco conectado");
            Statement  comando = conexao.createStatement();


        } catch (SQLException e) {
            System.out.println("erro de conexao   " + e.getMessage());
        } catch (ClassNotFoundException e) {
            System.out.println("Driver não encontrado");
        }

quando eu executo ele retorna essa mensagem de erro:
erro de conexao Communications link failure
The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.

Já tentei colocar o ip como localhost, colocar a porta 3306, adicionar o mysql-connector-java-5.1.14-bin.jar.
Quando eu tento fazer a inserção manualmente pelo IBOConsole ele aceita normalmente.
EU já dei algumas olhadas nos foruns pra ver o que podia estar acontecendo de errado com a minha conexão mais não descobri ainda.

Estou utilizando o NetBeans 7.0.1
Firebird 2.0.3.12981 e IBOConsole
Windows 7 32 bits

Alguém me da uma ajuda e fala o que foi que eu esqueci ou o que estou fazendo de errado nessa aplicação

11 Respostas

drsmachado

Communications link failure
The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.

Banco de dados não iniciado.
Banco de dados não aceita conexões.

lucas_carvalho100

Cara seguinte na string de conexão você usa MySQL, porém no final do post você falou que usa Firebird, qual banco você usa?

drsmachado

Ah, de fato, como observado pelo lucas, se o banco for firebird e o driver mysql, esse erro também será lançado, visto que o java irá procurar o mysql

L

Eu criei o banco utilizando o IBOConsole, e o Firebird que é responsável por dar o Start no banco de dados.
Eu só conheço 3 tipos de conexões de banco de dados.
Qual seria a conexão certa neste caso?

lucas_carvalho100

Você deve mudar sua string de conexão se você esta usando o Firebird, e também precisa do driver… Procura no google ai que você acha o driver e um belo exemplo…

L
lucas_carvalho100:
Você deve mudar sua string de conexão se você esta usando o Firebird, e também precisa do driver.... Procura no google ai que você acha o driver e um belo exemplo....
Segui seus conselhos e vi que estava utilizando o drive errado mesmo. Então modifiquei a conexão e baixei o jar do Firebirdsql. Meu código ficou assim:
try {
           Class.forName("org.firebirdsql.jdbc.FBDriver");
           conexao = DriverManager.getConnection("jdbc:firebirdsql:127.0.0.1/3050:/c://Program Files/IBOConsole/IBOConsole/BDTST.gdb","root","root");               
           comando = conexao.createStatement();
          
           
      } 
        catch(SQLException e){
           System.out.println("erro de conexao   "+e.getMessage());
        }
        catch(ClassNotFoundException e){
            System.out.println("Driver não encontrado");
        }

Porem agora está aparecendo um erro diferente. O erro é este:

erro de conexao Resource Exception. unavailable database
Reason: unavailable database

Alguém tem alguma ideia de como resolver isto?

lucas_carvalho100

Da uma olhada nesse post

L

[quote=lucas_carvalho100]Da uma olhada nesse post

  1. Pode ser que o seu banco não esteja atendendo na porta 3050, ou então que não atenda como “localhost” na porta 3050.
    Para checar isso, você precisa abrir uma linha de comando e ver o seguinte:

netstat -an | grep 3050 | grep LISTEN

Se aparecer algo como:
view plaincopy to clipboardprint?
tcp 0 0 0.0.0.0:3050 0.0.0.0:* LISTEN

ou então (supondo que o IP da máquina que roda o Firebird seja 123.4.56.7)
view plaincopy to clipboardprint?
tcp 0 0 0.0.0.0:3050 0.0.0.0:* LISTEN
tcp 0 0 123.4.56.7:3050 0.0.0.0:* LISTEN

então você deveria ter conseguido conectar-se ao Firebird. Mesma coisa com
view plaincopy to clipboardprint?
tcp 0 0 127.0.0.1:3050 0.0.0.0:* LISTEN

Se não aparecer nenhuma linha, é porque o Firebird não está atendendo nessa porta 3050.

Se você sabe que o endereço do servidor é 123.4.5.67 e aparece APENAS uma linha
view plaincopy to clipboardprint?
tcp 0 0 123.4.5.67:3050 0.0.0.0:* LISTEN

então você precisa passar o endereço do servidor, em vez de localhost, na string de conexão.

Pode me explicar mais detalhadamente como eu devo fazer para fazer esta verificação? eu não entendi direito como fazer ela.

lucas_carvalho100

Baixa o Ib Expert, e conecta no banco, lá ele te mostra todos os parâmetros do banco. Além de ser uma excelente ferramenta para mexer com Firebird.

L

O problema é que eu tenho que usar o IBOConsole, pois é o mesmo que utiliza na faculdade. Este teste que eu estou tentando fazer aqui é pra passar essa conexão pros computadores do laboratório depois

L

Finalmente consegui resolver o problema, Obrigado pela ajuda de vocês e desculpa pela burrice minha. Vivendo e aprendendo.

Criado 4 de outubro de 2011
Ultima resposta 6 de out. de 2011
Respostas 11
Participantes 3