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
Views: Raw Message | Whole Thread | Download mbox | Resend email
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

Browse pgsql-es-ayuda by date

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