Ver Mensaje Individual
  #2 (permalink)  
Antiguo 24/11/2009, 01:39
Avatar de xdrtas
xdrtas
 
Fecha de Ingreso: junio-2008
Ubicación: Venezuela
Mensajes: 97
Antigüedad: 15 años, 10 meses
Puntos: 13
Respuesta: Ayuden al novato con el jdbc en eclipse

Hola TyrantRC, mira, yo no sé de Java, sin embargo te voy a indicar los pasos según el manual.

Para la versión 1.4 y 1.5 del JDK se necesita el driver JDBC 3 y para la versión 1.6 en adelante se necesita la versión JDBC 4.
Tienes instalado el driver postgresql-8.4-701.jdbc3.jar <-- Esta es la versión correcta para tu versiónd del JDK. Por aquí vamos bien.
  1. Configurar la ruta hacia el driver mediante la variable de entorno CLASSPATH, ejemplo: export CLASSPATH=c:\archivos de programas\eclipse\tuaplicacion.jar:c:\Archivos de programa\java\postgresql.jar:
    Nota: desde línea de comandos de java puedes usar flags para la configuaración, pero no tengo idea en este momento de como se hace. Pero que sepas que existe esa posibilidad.
  2. Cuando crees una base de datos en PostgreSQL no uses codificación SQL_ASCII, usa UNICODE.
  3. Importar el driver para usarlo en la aplicación: import java.sql.*;
  4. Hay dos formas de cargar el driver, el punto 5 es el primero y el 6 el segundo:
  5. Class.forName("org.postgresql.Driver"); Cuando usas este método, no puedes usar otro gestor de base de datos distinto en tu aplicación.
  6. java -D jdbc.drivers=org.postgresql.Driver tuaplicacion //Con este método se carga el driver y una vez cargado se ejecuta la aplicación, lo que permite añadir otros drivers de bases de datos a una misma aplicación.
  7. Ahora la cadena de conexión: String url = "jdbc:postgresql://localhost/test?user=xdrtas&password=tucontraseña";
  8. La clase para conectarte:Connection conn = DriverManager.getConnection(url);
  9. Una forma de construir la cadena de conexión de forma más elegante es usando la clase Properties, ejemplo:
    String url = "jdbc:postgresql://localhost/test";
    Properties props = new Properties();
    props.setProperty("user","xdrtas");
    props.setProperty("password","tucontraseña");
    Connection conn = DriverManager.getConnection(url,props);

    Por supues, puedes añadir más parámetros a tu cadena de conexión.
  10. Ahora una pequeña consulta:
    Statement st = conn.createStatement();
    ResultSet rs = st.executeQuery("SELECT * FROM mytable WHERE columnfoo = 500");
    while (rs.next()) {
    System.out.print("Column 1 returned ");
    System.out.println(rs.getString(1));
    }
    rs.close();
    st.close();

Por último te pongo como creo yo que debería quedar una pequeña aplicación:
Código java:
Ver original
  1. import java.sql.*;
  2.  
  3. Class.forName("org.postgresql.Driver");
  4.  
  5. String url = "jdbc:postgresql://localhost/test";
  6. Properties props = new Properties();
  7. props.setProperty("user","xdrtas");
  8. props.setProperty("password","tucontraseña");
  9. Connection conn = DriverManager.getConnection(url,props);
  10.  
  11. Statement st = conn.createStatement();
  12. ResultSet rs = st.executeQuery("SELECT * FROM mytable WHERE columnfoo = 500");
  13. while (rs.next()) {
  14.     System.out.print("Column 1 returned ");
  15.     System.out.println(rs.getString(1));
  16. }
  17. rs.close();
  18. st.close();

Yo no sé de Java, esto lo hice con la documentación que pusiste, ("jdbc.postgresql.org/documentation/docs.html").
Este ejemplo puede que tenga errores porque yo no sé de Java, aunque no creo que esté muy desencaminado, si alguién sabe algo mejor, espero que lo postee, mientras puedes ir probrando e ir corrigiendo donde me haya equivocado.

Recuerda que tienes que configurar la variable de entorno CLASSPATH primero que nada.

Saludos y espero que te sirva.