Ver Mensaje Individual
  #4 (permalink)  
Antiguo 31/12/2008, 06:07
venkman
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Error - Pool de conexiones

A ver, este segundo ejemplo es bastante claro y no tiene mucho que ver con la conexión.

1. Te saca ese mensaje porque tú le has dicho que lo saque, no porque realmente falle.

Es decir, sale lo de "Prueba sin pool no exitosa..." porque haces esto:

Código java:
Ver original
  1. boolean usePool = "1".equals(req.getParameter("pool"));
  2. if (usePool){
  3.     conn = source.getConnection();
  4.     out.println("Prueba con Pool exitosa...");
  5. } else {
  6.     conn = DriverManager.getConnection("jdbc:sybase:Tds:VISTAESCRITORIO:5000/Pruebas","sa","123456");
  7.     out.println("Prueba sin Pool, no exitosa...");
  8. }

Que me voy a permitir traducir como:
Código:
si (queremos usar el pool) {
    intentamos usarlo;
    decimos que ha ido bien;
} si no {
    intentamos conectar sin pool;
    decimos que ha ido mal;
}
Es decir, no estás sacando un mensaje u otro según haya ido bien la prueba o no. Lo que estás haciendo es sacar un mensaje u otro según intentes usar el pool o conectar directamente. En cualquiera de los dos casos puede haber funcionado o no funcionado y tú estarás sacando el mensaje sólo según qué es lo que hayas intentado hacer.



El segundo mensaje, este sí que es un mensaje de error, se refiere al preparedStatement, no tiene nada que ver con la conexión.

Haces:
Código java:
Ver original
  1. PreparedStatement pstmt = conn.prepareStatement("SELECT * FROM usuarios");
  2. pstmt.setInt(1,10); // establecemos el entero

Es decir, que estás usando una sentencia de SQL que no necesita ningún parámetro pero tú le estás intentando meter uno con el setInt() ese. Como tu sentencia no tiene parámetros, pues te dice eso, que no existe ningún parámetro de índice 1.



Es más, el hecho de que salga ese error, quiere decir que se están ejecutando esas líneas, y como van dentro de un
Código java:
Ver original
  1. if (conn != null) {
  2.     //...
  3. }

Entonces podemos deducir que sí, conn es distinto de null y por tanto sí, se está consiguiendo conectar correctamente.



Por lo demás, en cuanto al tema de que no encuentre el pool... posiblemente se trate de un problema con la ruta que le pones de búsqueda en el contexto.

Última edición por venkman; 31/12/2008 a las 06:12