ya configuraste la direccion ip del cliente remoto en el archivo
pg_hba.conf, en esta parte:




# TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD

# IPv4 local connections:
host    all         all         127.0.0.1/32          md5
# IPv6 local connections:
#host    all         all         ::1/128               md5






2010/7/16 Isidro Blanco <isidro...@gmail.com>

>
>
> El 16 de julio de 2010 13:36, Z.M. <nrami...@rosario.gov.ar> escribió:
>
> En Thu, 15 Jul 2010 15:43:25 -0300, Isidro Blanco <isidro...@gmail.com>
>> escribió:
>>
>>  Buenas tardes,
>>>
>>> Estoy intentado conectar netbeans 6.8 con postgreSQL las versiones 8.3 y
>>> 8.4, he leído que tiene problemas con las conexiones remotas por eso
>>> probe
>>> con .3,  pero tanto en una como en otra me salta el error "conection
>>> refused" o lo que es lo mismo "el intento de conexion falló". La
>>> aplicación
>>> sólo funciona cuando hago la conexión contra mi bbdd de localhost o
>>> 127.0.0.1.
>>>
>>> *1. Localhost:* Desde *pgAdmin*, *psql*, la pestaña "*Services*" de
>>> netbeans, tengo acceso a los datos de la base de datos del servidor pero
>>> cuando llamo desde la aplicación me salta el error y no se conecta.
>>>
>>> *2. Servidor remoto:* El *servicio* esta iniciado, *pg_hba**.conf* esta
>>> configurado para que mi máquina y la red de la que formo parte podamos
>>> acceder, *postgresql.conf* con el parametro listen_adresses = '*', no
>>> tengo
>>> problemas con el firewall, existe el usuario postgres.
>>>
>>> Haciendo debug sobre la aplicación he visto que en el problema esta en la
>>> clase DriverManager concretamente en este punto:
>>>  <http://java.sun.com/j2se/1.5.0/docs/api/java/sql/Connection.html>
>>> Connection<
>>> http://java.sun.com/j2se/1.5.0/docs/api/java/sql/Connection.html>
>>>
>>> result = di.
>>> driver.connect(url, info);
>>> if (result != null) {
>>>     // Success!
>>>     println("getConnection returning " + di);
>>>     return (result);
>>> }
>>>
>>> No entra dentro del if y por lo tanto no se conecta.
>>>
>>>
>>> Parte de mi clase de conexion es esta:
>>>
>>> public static java.sql.Connection<
>>> http://java.sun.com/j2se/1.5.0/docs/api/java/sql/Connection.html
>>> >conexion
>>>
>>> ;
>>>
>>> [...]
>>>        // el nombre de nuestro driver Postgres.
>>>        controlador = "org.postgresql.Driver";
>>>
>>>        // llamamos nuestra bd
>>>
>>>        URL_bd = "jdbc:postgresql://obras_pruebas";         //localhost
>>>        URL_bd = "jdbc:postgresql://192.168.0.252:5432/obras";
>>> //servidor
>>> remoto
>>>
>>>        // usuario postgres
>>>        usuario = "postgres";
>>>
>>>        //password
>>>        contrasinal = "Aluman05";
>>> [...]
>>>
>>> public synchronized static void inicializar() throws
>>> Exception<
>>> http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html>
>>>
>>> {
>>>
>>>        try {
>>>
>>>            // Cargamos o controlador ODBC
>>>            if (conexion == null || conexion.isClosed()) {
>>>
>>> Class<http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Class.html>
>>>
>>> .forName(controlador).newInstance();
>>>                conectar(); // conectar coa fonte de datos
>>>            }
>>>        } catch
>>> (Exception<
>>> http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html>e
>>>
>>> ) {
>>>            e.printStackTrace();
>>>        }
>>>
>>>    }
>>>
>>> [...]
>>>
>>> public synchronized static void conectar() throws
>>> java.sql.SQLException<
>>> http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html>
>>>
>>> {
>>>
>>>        try {
>>>
>>>            //Establecemos la conexión.
>>>            conexion =
>>> DriverManager<
>>> http://java.sun.com/j2se/1.5.0/docs/api/java/sql/DriverManager.html>
>>>
>>> .getConnection(URL_bd, usuario, contrasinal);
>>>
>>>            DriverManager<
>>> http://java.sun.com/j2se/1.5.0/docs/api/java/sql/DriverManager.html>
>>> .setLogWriter(new
>>> java.io.PrintWriter<
>>> http://java.sun.com/j2se/1.5.0/docs/api/java/io/PrintWriter.html>
>>> (System <http://java.sun.com/j2se/1.5.0/docs/api/java/lang/System.html
>>> >.out)
>>>
>>> );
>>>
>>>
>>>            //Commit a true
>>>            conexion.setAutoCommit(true);
>>>
>>>        } catch
>>> (Exception<
>>> http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html>e
>>>
>>> ) {
>>>            e.printStackTrace();
>>>        }
>>>
>>>    }
>>>
>>> Si existe otro modo de conectarse o cualquier propiedad que pueda cambiar
>>> que no haya mirado o prueba que pueda realizar o en definitiva algo que
>>> pueda hacer, por favor informame.
>>>
>>> Un saludo y buen día.
>>>
>>>
>> Yo utilizo algo menos complejo. Pero sirve al caso, al menos para mi
>>
>>
>> import java.sql.Connection;
>> import java.sql.DatabaseMetaData;
>> import java.sql.DriverManager;
>> import java.sql.SQLException;
>> import tanoxvon.Main;
>>
>> public class Coneccion{
>>    static Connection coneccion = null;
>>
>>    public Coneccion() throws SQLException{
>>        System.out.println(" Creando una instancia de la clase");
>>        try{
>>            System.out.println(" Buscando el driver de la base de datos
>> PostgreSQL");
>>            Class.forName("org.postgresql.Driver");
>>        }catch(ClassNotFoundException e){
>>            System.out.println(" No se encontro el nombre del driver de la
>> base de datos PostgreSQL" + e.getMessage());
>>        }
>>        System.out.println(" Estableciendo la url de conexión");
>>        String url = "jdbc:postgresql://192.168.97.80:5432/expediente";
>> //hay que cambiar por el numero de ip o la ubicacion de la maquina
>>        try{
>>            System.out.println(" Estableciendo la conexión");
>>            coneccion = DriverManager.getConnection(url, "pepe", "pepe");
>>            System.out.println(" Obteniendo los metadatos de la base de
>> datos");
>>            DatabaseMetaData dbmd = coneccion.getMetaData();
>>            System.out.println(" Conexión exitosa. Nombre del producto: " +
>> dbmd.getDatabaseProductName() + " Versión: " +
>> dbmd.getDatabaseProductVersion());
>>        }catch(SQLException e){
>>            System.out.println(" Excepción al establecer la conexión " +
>> e.getMessage());
>>        }
>>    }
>> }
>>
>>
>>
>> --
>>  Z.M.
>>
>> -
>> Enviado a la lista de correo pgsql-es-ayuda (
>> pgsql-es-ayuda@postgresql.org)
>> Para cambiar tu suscripción:
>> http://www.postgresql.org/mailpref/pgsql-es-ayuda
>>
>
> Buenos días,
>
> Gracias por responder.
>
> Básicamente nuestro métodos son idénticos realizamos la conexión
> instanciando el controlador:
>
> *
> Class.forName("org.postgresql.Driver");*
> *Class..forName(controlador).newInstance();*
>
> Y llamando al DriverManager:
>
>
> *coneccion = DriverManager.getConnection(url, "pepe", "pepe");*
> *conexion =DriverManager.getConnection(URL_bd, usuario, contrasinal);*
>
>
> Un saludo y buen día.
>



-- 
Saludos

_________________
José de Paz
Escuintla, Guatemala
Tel. (502)-56041676

http://desarrolloescuintla.wordpress.com

Responder a