Erro"Unable to complete network request to host "192.168.1.1" com Java+Firebird

Pessoal,

Tenho um servidor rodando Linux Debian Sarge com Firebird 2.0 e na minha máquina de trabalho (que tem Windows XP com NetBeans 5.5.1 e Ubuntu 7.10 com o mesmo NetBeans 5.5.1) consigo conectar no FB normalmente via shell e front-end gráfico, tanto no windows quanto no linux.

Estou escrevendo uma classe de conexão a 3 bancos de dados, MySQL, PostGreSQL e Firebird; e estou tendo problemas na conexão com FireBird somente no Linux, sendo que o mesmo código funciona perfeitamente no Windows.

Alguém sabe o que pode ser???

PS: Segue abaixo o código e o retorno do SQLException

Código

package testeconexao;

import java.sql.*;

public class Main {
    
    public Main() {
    }
 
    public static void main(String[] args) {
       
        Connection conexao = null;  

        try  {  
            
            // Carregando o Driver
            Class.forName("org.firebirdsql.jdbc.FBDriver");

            // Iniciando a Conexao
            conexao = DriverManager.getConnection("jdbc:firebirdsql:192.168.1.1/3050:/var/lib/firebird2/data/meubanco.fdb", "SYSDBA", "masterkey");
            
            // Criando statement (objeto de comandos)
            Statement stm = conexao.createStatement();   
            
            ResultSet rs = stm.executeQuery("SELECT * FROM tabela");
            
            while (rs.next()) {
                System.out.println(rs.getString("campo1") + " - " + rs.getString("campo2"));
            }
            
            rs.close();
            stm.close();
            conexao.close();

        } catch (SQLException ex)  {  
        
            ex.printStackTrace(); //vejamos que erro foi gerado e quem o gerou  
            
        }  catch (Exception e) {
            
            e.printStackTrace();
            
        }
        
    }
    
}

Exception

so no linux que da pau ?
verificou o iptbales?
o banco permite o loopback ?

[quote=biozit]so no linux que da pau ?
verificou o iptbales?
o banco permite o loopback ?
[/quote]

Respostas…

  1. Sim, só no linux que dá pau…
  2. Sim, já verifiquei o IPTables, tanto da estação quanto do servidor e está tudo OK, tanto é que consigo conectar via FireRobin (modo gráfico) e via iSQL (shell).
  3. Sim o banco está permitindo loopback, mas não é o caso, porque o banco está em uma máquina servidor que só tem Linux e estou acessando-o por outra máquina.

E aí pessoal,

ninguém faz idéia do que pode estar ocorrendo ??

Eu ainda não consegui encontrar uma solução…

troque isso:

DriverManager.getConnection("jdbc:firebirdsql:192.168.1.1/3050:/var/lib/firebird2/data/meubanco.fdb", "SYSDBA", "masterkey"); 

por isso:

DriverManager.getConnection("jdbc:firebirdsql://192.168.1.1:/var/lib/firebird2/data/meubanco.fdb", "SYSDBA", "masterkey"); 

e veja se funciona.

[quote=rafaelglauber]troque isso:

DriverManager.getConnection("jdbc:firebirdsql:192.168.1.1/3050:/var/lib/firebird2/data/meubanco.fdb", "SYSDBA", "masterkey"); 

por isso:

DriverManager.getConnection("jdbc:firebirdsql://192.168.1.1:/var/lib/firebird2/data/meubanco.fdb", "SYSDBA", "masterkey"); 

e veja se funciona.[/quote]

tentei o que você me falou mas deu o seguinte erro:

DriverManager.getConnection("jdbc:firebirdsql://192.168.1.1/var/lib/firebird2/data/meubanco.fdb", "SYSDBA", "masterkey");  

acho que sobrou um “:”.

[quote=rafaelglauber]DriverManager.getConnection("jdbc:firebirdsql://192.168.1.1/var/lib/firebird2/data/meubanco.fdb", "SYSDBA", "masterkey");

acho que sobrou um “:”.[/quote]

Rafael,

coloquei da forma como você propôs, mas o erro inicial “Unable to complete network request to host 192.168.1.1” persiste…

Configura tua conexão a partir desse exemplo.

Rafael, na verdade foi justamente esse exemplo que usei quando iniciei os testes com FireBird, já o repassei várias vezes…
Estou começando a achar que o problema está na instalação de algum componente no meu Linux (da estação).

Olá!

Para quem está sofrendo com esse problema ou ainda irá sofrer, veja essa discussão aqui. Depois de muita pesquisa e teste, resolveu pra mim.