Pregunta: | 6845 - PROBLEMA CON VARIOS RESULTSET |
Autor: | Liencres |
Tenemos un problema:
Realizamos varias consultas en sql (4 sentencias SELECT)sobre unas tablas y los resultados los asignamos a 4 ResultSet distintos. Esto esta hecho en una pagina .jsp bajo Windows2000 en ODBC, al lanzar la pagina nos da un error que dice: "ResultSet is closed" Otro error que nos da cuando no cerramos los Statements de cada consulta es: "java.sql.SQLException: [Microsoft][ODBC SQL Server Driver]La conexión está ocupada con los resultados de otro hstmt". La pregunta es: ¿Cómo se solventa el problema? |
Respuesta: | tycoon |
Lo de "ResultSet is closed", ¿puede ser porque le asignes los datos antes de llamar al metodo next()?
Con lo de "La conexión está ocupada con los resultados de otro hstmt", a mi me pasaba lo mismo, instanciando clases con los datos de una consulta, al cargar una lista de objetos en otro que los contenía, tenía que abrir 2 resultset a la vez, y esto no lo permite SQL. Tienes que vaciar un resultset antes de abrir otro, después cerrarlo, y luego cerrar el statement, para que funcione siempre. Al menos en SQL server, no he podido solucionarlo de otra forma Saludos |
Respuesta: | Marc RS |
Teníamos el mismo problema utilizando una única conexión. Ejecutánbamos 1 stored procedure que devolvía un ResultSet y después realizábamos otra consulta con un preparedStatement en la misma conexión. Llámanos tristes pero generamos 2 conexiónes independientes una para cada consulta.
Esto mismo, realizado con un DRIVER en lugar de un puente sun.jdbc.odbc no nos dió nunca problemas. |