Foros del Web » Programación para mayores de 30 ;) » Programación General »

Servlets y BD

Estas en el tema de Servlets y BD en el foro de Programación General en Foros del Web. Tengo el siguiente problema. Tengo varios servlets que hacen solicitudes a una base de datos (BD). Para evitar tener código de acceso a la BD ...
  #1 (permalink)  
Antiguo 02/09/2002, 14:56
 
Fecha de Ingreso: mayo-2002
Mensajes: 37
Antigüedad: 22 años
Puntos: 0
Servlets y BD

Tengo el siguiente problema. Tengo varios servlets que hacen solicitudes a una base de datos (BD). Para evitar tener código de acceso a la BD en cada servlet, he definido una clase con métodos para el acceso a la BD y a la cual acceden todos los servlets. Mi pregunta es la siguiente: si hago una consulta y la clase devuelve al servlet un objeto ResultSet, no puedo cerrar la conexión desde el programa porque el ResultSet tiene valor nulo, pero si lo paso al servlet, la conexión con la BD queda abierta. ¿Se os ocurre alguna solución que no sea cerrar la conexión desde el servlet? Me he planteado que en vez de un ResultSet devuelva un array, pero no me parece con demasiado estilo. Espero vuestras sugerencias. Gracias.
Relacionado con el tema de BD, tengo una duda. Trabajo con MySQL a la cual accedo mediante su driver jdbc. Mi pregunta es: ¿existe alguna forma de saber el número de conexiones abiertas que tiene la BD? Me refiero a poder obtenerlo desde mi programa Java, con algún tipo de consulta SQL.

En cuanto a lo del grupo de trabajo Java, ¿en qué ha quedado todo?.
  #2 (permalink)  
Antiguo 02/09/2002, 17:06
 
Fecha de Ingreso: junio-2002
Mensajes: 39
Antigüedad: 21 años, 10 meses
Puntos: 0
Re: Servlets y BD


si te fijas un poco en la API podras leer lo siguiente:
"A ResultSet is automatically closed by the Statement that generated it when that Statement is closed, re-executed, or is used to retrieve the next result from a sequence of multiple results.
"

Entonces, le puedes devolver el ResultSet con los resultados y cierras la conexion desde la propia clase que accede a la base de datos.
Por lo menos es como lo tengo hecho yo y funciona....
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:10.