Soy un newbe en BD.
Hola, como estan, pues como sabran yo soy certificado en java y blah blah blah pero aun asi, hace poco me entere que si no cierras los statements o preparedstatemens de una conexion puedes tener un error parecido a que se te acabaron los statements.
Realize cambios al programa ya que cuando se hacian queries no se estaba cerrando el preparedstatement, realizamos una prueba masiva y voila!, todo funciono perfecto.
Asi que si no saben, pues ya sabem no solo se pueden quedar sin conexiones (si usan datasources) tambien se pueden quedar sin statements o preparedstatements si no los cierran, por eso es muy importante cerrar los resultsets, statementes / preparedstatemenes o lo que sea parecido y las conexiones (en caso de usar conexiones directas en lugar de datasources, que por lo general lo maneja el servidor web)
Saludos,
- Gabriel's blog
- Inicie sesión o regístrese para enviar comentarios
Cerrar statements & demás stuff
Así es, cerrar conexiones, statements y resultsets es de lo infaltable al manejar accesos a BD, siempre en el bloque finally de nuestro código evaluado que acceda a la BD
Spring al rescate
Así es, hay que cerrar Statements, PreparedStatements, ResultSets, Connections... la limpieza posterior al uso directo de JDBC es bastante tediosa. Por eso uso Spring... me olvido de todos esos rollos. Una simple llamada a SimpleJdbcTemplate es equivalente a obtener una conexion del dataSource, crear el PreparedStatement, ponerle parámetros, ejecutarlo, obtener el query, hacer un loop para ir leyendo los registros, meterlos en un List, cerrar el PreparedStatement y cerrar la conexion o devolverla al pool. Ah y si lo usas con un ParameterizedRowMapper ya obtienes un List de los objetos que devuelve el mapper, o si no quieres usar eso pues llamar a queryForList y te devuelve un List>; es bastante simple.
Given the choice of dancing pigs and security, users will choose dancing pigs, every single time.
Steve Riley
Eso suena muyy divertido...
Eso suena muyy divertido... me ahorraria muchas cosas hehehehe, gracias por el dato.
Saludos,