Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/11/2008, 06:43
angieml
 
Fecha de Ingreso: noviembre-2008
Mensajes: 16
Antigüedad: 15 años, 6 meses
Puntos: 0
Jsp+java+postgresql

Buenos días gente,

les voy a hacer una consulta a ver si alguien me puede ayudar. La verdad es que llevo poco tiempo trabajando con jsp+postgresql, y llevo dos días intentando hacer una consulta a mi base de datos desde el jsp, pero nada...simplemente me sale el error "no se puede encontrar el Driver org.postgresql.Driver".
He comprovado que no sea problema del Driver con el siguiente código .java, y me funciona:

import java.sql.*;

public class SelectExample {

public static void main (String[] args)
{

Connection connection = null;
Statement statement = null;
ResultSet resultSet = null;

try
{
/* Obtener una conexión. */

String driverClassName = "org.postgresql.Driver";
String driverUrl="jdbc:postgresql://localhost:5432/postgres";
String user = "postgres";
String password = "kkkk";

Class.forName(driverClassName);

connection = DriverManager.getConnection(driverUrl, user, password);


/* Crea Sentencia SQL. */
statement = connection.createStatement();

/* Ejecuta la Consulta. */
//String queryString = ("select * from department");
String sql = ("select p.name from public.department p where p.id_department = 1");

resultSet = statement.executeQuery(sql);

while (resultSet.next())
{

System.out.println(resultSet.getString("NAME"));


}
}
catch (SQLException e)
{
e.printStackTrace();
}

catch (ClassNotFoundException e){
System.out.println("No se encontró el driver para la base de datos");
System.out.println(e);
}

finally
{
try
{
if (resultSet != null)
{
resultSet.close();
}
if (statement != null)
{
statement.close();
}
if (connection != null)
{
connection.close();
}
} catch (SQLException e)
{
e.printStackTrace();
}
}
}
}

Incluso he hecho un pequeño codigo jsp que sólo se connecta a la base de datos, y no me salta el error .....así que ya no sé si el error viene por la base de datos o bien tengo alguna instrucción java/sql incorrecta (he leído que es posible que salte el error de driver pero que realmente sea un error distinto) .

Bueno, os adjunto el código jsp a ver si alguien de ustedes vé el error:
(A la pregunta, ¿tienes la variable CLASSPATH con el .jar del driver? Sí lo tengo, y cómo les he dicho estoy segura que consigue acceder al driver...)


<%@ page contentType="text/html; charset=iso-8859-1" language="java"
import="java.sql.*" errorPage="" %>
<%@ page import=" java.net.*" %>
<%@ page import="java.util.*" %>
<%@ page import="java.io.*" %>
<%@ page import="javax.sql.*" %>
<%@ page import="java.sql.*" %>
<%@ page import="javax.naming.*" %>


<%

try{
try {
Class.forName("org.postgresql.Driver");
} catch (ClassNotFoundException e) {
out.println("<h1>No se encuentra el Driver: " + e.getMessage() + "</h1>" );
}


String driver = "org.postgresql.Driver";
String connectString = "jdbc:postgresql://127.0.0.1:5432/postgres";
String user = "postgres";
String password = "kkkk";


Class.forName(driver).newInstance();
Connection conn = DriverManager.getConnection(connectString, user, password);

Statement statement = conn.createStatement();

/* Ejecuta la Consulta. */

String sql = ("select p.name from public.department p where p.id_department = 1");


ResultSet rs = statement.executeQuery(sql);


while (rs.next())
{ out.println(rs.getString("name"));
}
}
catch (Exception e)
{

e.printStackTrace();

}

%>


Muchas gracias por vuestro tiempo,

Angie