Re: postgreSQL, netbeans, conexion remota.

From: "Z(dot)M(dot)" <nramire1(at)rosario(dot)gov(dot)ar>
To: "Lista PostgreSQL" <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: postgreSQL, netbeans, conexion remota.
Date: 2010-07-16 11:36:04
Message-ID: op.vfxo6ealo7jdb6@car-800
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

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.

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Isidro Blanco 2010-07-16 11:50:43 Re: postgreSQL, netbeans, conexion remota.
Previous Message Guillermo Villanueva 2010-07-15 21:20:28 Re: LEER ARCHIVO TXT EN PLPGSQL