Skip site navigation (1) Skip section navigation (2)

Re: postgreSQL, netbeans, conexion remota.

From: Isidro Blanco <isidrojbf(at)gmail(dot)com>
To: "Z(dot)M(dot)" <nramire1(at)rosario(dot)gov(dot)ar>
Cc: Lista PostgreSQL <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: postgreSQL, netbeans, conexion remota.
Date: 2010-07-16 11:50:43
Message-ID: AANLkTilylpEX6-0Mhw-VHfXJn6DaC1HzEqJtQWzdAPzb@mail.gmail.com (view raw or flat)
Thread:
Lists: pgsql-es-ayuda
El 16 de julio de 2010 13:36, Z.M. <nramire1(at)rosario(dot)gov(dot)ar> escribió:

> En Thu, 15 Jul 2010 15:43:25 -0300, Isidro Blanco <isidrojbf(at)gmail(dot)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(at)postgresql(dot)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.

In response to

Responses

pgsql-es-ayuda by date

Next:From: Esperón, AlejandroDate: 2010-07-16 11:53:43
Subject: Consultas sobre salida en el log
Previous:From: Z.M.Date: 2010-07-16 11:36:04
Subject: Re: postgreSQL, netbeans, conexion remota.

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group