Ver Mensaje Individual
  #8 (permalink)  
Antiguo 24/09/2011, 04:18
Avatar de chuidiang
chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 20 años, 3 meses
Puntos: 454
Respuesta: Cerrar conexion con JAVA

Hola:

Es dificil de entender y ver el error. En el último trozo de código que has puesto obtienes una conexion no se sabe cómo a la que llamas conexion. El cerrrarConexion cierra un static con qu está en la clase Conexion. ¿Está el método consultarEmpresa también en la clase Conexion? ¿Estas totalmente seguro que ese conexion que tienes en consultarEmpresa es el mismo que el que tienes guardado en el static con de la clase Conexion?

Por otro lado, La clase Conexion tiene un método conectarBD no estático que es el que establece conexión y la guarda en con. No veo dónde llamas a eso, pero cada llamada a conexionBD "machaca" la conexión anterior que hubiera almacenada en Conexion.con. Es posible que por ahí se te queden sin cerrar, ya que la llamada a cerrarConexion() cerrrará la última obtenida, pero no puede nunca cerrar las anteriores si han sido "machacadas".

Mi consejo es que no guardes con en static ni en ningún lado. Haz el método conectarBD() estático, que devuelva una Connection y que el que la pida se encargue de cerrarla. Puedes poner el método cerrarConexion en Conexion también static, pero que cierre la conexión que le pasen por parámetro.

Código java:
Ver original
  1. public void consultaEmpresa () {
  2.    Connection conexion = null;;
  3.    try {
  4.        conexion = Conexion.conectarBD();
  5.        // aquí tus SQL
  6.    } catch (Exception e) {
  7.       e.printStackTrace();
  8.    } finally {
  9.         Conexion.cerrarConexion(conexion);
  10.    }
  11. }

Se bueno.
__________________
Apuntes Java
Wiki de Programación