Re: postgreSQL, netbeans, conexion remota.

From: Desarrollo Escuintla <desarrollo(dot)escuintla(at)gmail(dot)com>
To: Isidro Blanco <isidrojbf(at)gmail(dot)com>
Cc: Lista PostgreSQL <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: postgreSQL, netbeans, conexion remota.
Date: 2010-07-16 15:24:13
Message-ID: AANLkTim6FFt8PiXKjIzsZrA3GD6J95rsxaALSuV43y1y@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

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 <isidrojbf(at)gmail(dot)com>

>
>
> 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.
>

--
Saludos

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

http://desarrolloescuintla.wordpress.com

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Mario Sileone 2010-07-16 17:34:33 Cuantos locks son muchos locks?
Previous Message José Alberto Sánchez Nieto 2010-07-16 14:57:09 Re: pasar date a integer directamente