Conexão ao interbase

6 respostas
Gleison_Silva

Olá pessoal…

Desenvolvi uma pequena aplicação em Windows/Tomcat 4 e agora estou migrando para Linux. Em princípio, como é Java, nada de anormal deveria acontecer… só que não tá funcionando… depois de muito ralar, vi que não tava funcionando pq ele não conseguia se conectar ao interbase que está em outro servidor. Ele tá lançando a seguinte exceção:

[color=“green”]org.firebirdsql.jdbc.FBSQLException: Resource Exception. Unable to complete network request to host “192.168.1.4”.
Reason: Unable to complete network request to host “192.168.1.4”.
[/color]

A partir da máquina que está a aplicação eu consigo pingar o outro servidor (192.168.1.4), mas não consigo estabelecer uma conexão com o banco. O que pode ser?

Obrigado,

Gleison

6 Respostas

urubatan

ou o banco nao esta rodando na maquina “server” ou tem algum firewall no meio bloqueando a porta do FB/IB

Gleison_Silva

A existência do ibserver no 192.168.1.4 é comprovada pelo fato de que de outra estação (Windows+Tomcat) eu consigo rodar a aplicação… o único firewall que existe na minha rede está entre esta e a internet… em princípio não há nada que esteja impedindo… se existe não estou conseguindo identificar…

louds

você já verificou a conectividade da máquina linux com o servidor? tentou pingar ele? tentou dar 1 telnet na porta do FB/IB?

Gleison_Silva

Consigo tanto pingar quanto fazer um telnet na porta 3050 a partir da máquina Linux onde está a aplicação…

urubatan

posta aqui a tua URL de conexão para dar uma olhada :slight_smile:

PS.: na maquina “server” se for um unix, pode estar configurado um filtro de pacotes que não permite conexão a partir da tua estação :slight_smile:

Gleison_Silva

Eu criei uma pequena classe para fazer o teste da conexão a partir de outras estações e também do Linux (conectiva 8) onde o problema está ocorrendo. O código é esse:

import java.io.*;
import java.sql.*;

public class Conn {
	static Connection conn;
    public static void main(String args[]){
		System.out.println("Iniciando sessao.");
		System.out.println("Carregando driver JDBC...");
		try {
			Class.forName("org.firebirdsql.jdbc.FBDriver");
			conn = DriverManager.getConnection("jdbc:firebirdsql:192.168.1.4/3050:/dados/banco/sghdados.700","SYSDBA","masterkey");
			conn.close();
		} catch (SQLException e) {
			System.out.println("Ocorreu uma excecao SQL: " + e);
		} catch (Exception e) {
			System.out.println("Ocorreu uma excecao: " + e);
		}
    }
}

Testei em três estações na mesma rede (192.168.1) e de todas funcionou, exceto do Linux onde precisa funcionar. O servidor (192.168.1.4) também é um Linux (RH7). Olhei por alto e não encontrei nenhuma restrição IP (iptables) nesse servidor que pudesse explicar o problema. Como eu poderia verificar essa questão do filtro de pacotes? Já olhei as chains pelo iptables e não achei nada que pudesse bloquear...

Obrigado,

Gleison

Criado 5 de novembro de 2003
Ultima resposta 5 de nov. de 2003
Respostas 6
Participantes 3