![]() |
| |||||||
| Registrarse | Preguntas Frecuentes | Lista de Foreros | Calendario | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
| | LinkBack | Herramientas | Desplegado |
| |||
| > private Connection conexion; > private ResultSet consulta; > private ResultSetTableModel tableModel; A primera vista, nunca tendría un atributo ResultSet. Lee el ResultSet y guarda la info en un List, Set o lo que mejor te venga. En segundo lugar, las conexiones a la BD, ¿en qué momento las liberas?, en ningún sitio. Forma correcta de hacer una consulta (más o menos): public void foo() { Connection conn = null; Statement stmt = null; try { conn = getConexion()....; stmt = conn.createStatement.... ResultSet rs = stmt.executeQuery.... // Bucle para recorrer el ResultSet y guardarlo en una estructura.... while(rs.hasNext()) { ..... } } catch (Exception ex) { ex.printStackTrace(); } finally { try { if (stmt != null) { stmt.close(); } if (conn != null) { conn.close(); } } catch (SQLException ex) { ex.printStackTrace(); } } } Si no tienes más remedio, usa las conexiones así, pero yo usaría pooles de conexiones, o algo como Hibernate para gestionar todo eso. Al dejar conexiones y statements abiertos, dejas muchos recursos sin liberar, por lo que te quedas sin memoria... |
| | ||||
| ||||
| |
| |||
| On 22 feb, 04:57, Eduardo Yáñez Parareda <eduardo.yanezNOS...***NOSPAMgmail.com> wrote: > > private Connection conexion; > > private ResultSet consulta; > > private ResultSetTableModel tableModel; > > A primera vista, nunca tendría un atributo ResultSet. Lee el ResultSet yguarda la info en un List, Set o lo que mejor > te venga. > > En segundo lugar, las conexiones a la BD, ¿en qué momento las liberas?, en ningún sitio. Forma correcta de hacer una > consulta (más o menos): > > public void foo() { > *** ***Connection conn = null; > *** ***Statement stmt = null; > *** ***try { > *** *** ***conn = getConexion()....; > *** *** ***stmt = conn.createStatement.... > *** *** ***ResultSet rs = stmt.executeQuery.... > *** *** ***// Bucle para recorrer el ResultSet y guardarlo en una estructura.... > *** *** ***while(rs.hasNext()) { > *** *** *** *** ***..... > *** *** ***} > *** ***} catch (Exception ex) { > *** *** ***ex.printStackTrace(); > *** ***} finally { > *** *** ***try { > *** *** *** ***if (stmt != null) { > *** *** *** *** ***stmt.close(); > *** *** *** ***} > *** *** *** ***if (conn != null) { > *** *** *** *** ***conn.close(); > *** *** *** ***} > *** *** ***} catch (SQLException ex) { > *** *** *** ***ex.printStackTrace(); > *** *** ***} > *** ***} > > } > > Si no tienes más remedio, usa las conexiones así, pero yo usaría pooles de conexiones, o algo como Hibernate para > gestionar todo eso. > > Al dejar conexiones y statements abiertos, dejas muchos recursos sin liberar, por lo que te quedas sin memoria... Muchas gracias por tus sugerencia, me parece muy importante lo que me indicas lo tomare muy en cuenta. Saludos |
| |||
| On 22 feb, 04:57, Eduardo Yáñez Parareda <eduardo.yanezNOS...***NOSPAMgmail.com> wrote: > > private Connection conexion; > > private ResultSet consulta; > > private ResultSetTableModel tableModel; > > A primera vista, nunca tendría un atributo ResultSet. Lee el ResultSet yguarda la info en un List, Set o lo que mejor > te venga. > > En segundo lugar, las conexiones a la BD, ¿en qué momento las liberas?, en ningún sitio. Forma correcta de hacer una > consulta (más o menos): > > public void foo() { > *** ***Connection conn = null; > *** ***Statement stmt = null; > *** ***try { > *** *** ***conn = getConexion()....; > *** *** ***stmt = conn.createStatement.... > *** *** ***ResultSet rs = stmt.executeQuery.... > *** *** ***// Bucle para recorrer el ResultSet y guardarlo en una estructura.... > *** *** ***while(rs.hasNext()) { > *** *** *** *** ***..... > *** *** ***} > *** ***} catch (Exception ex) { > *** *** ***ex.printStackTrace(); > *** ***} finally { > *** *** ***try { > *** *** *** ***if (stmt != null) { > *** *** *** *** ***stmt.close(); > *** *** *** ***} > *** *** *** ***if (conn != null) { > *** *** *** *** ***conn.close(); > *** *** *** ***} > *** *** ***} catch (SQLException ex) { > *** *** *** ***ex.printStackTrace(); > *** *** ***} > *** ***} > > } > > Si no tienes más remedio, usa las conexiones así, pero yo usaría pooles de conexiones, o algo como Hibernate para > gestionar todo eso. > > Al dejar conexiones y statements abiertos, dejas muchos recursos sin liberar, por lo que te quedas sin memoria... Muchas gracias por tus sugerencia, me parece muy importante lo que me indicas lo tomare muy en cuenta. Saludos |
| |||
| On 22 feb, 04:57, Eduardo Yáñez Parareda <eduardo.yanezNOS...***NOSPAMgmail.com> wrote: > > private Connection conexion; > > private ResultSet consulta; > > private ResultSetTableModel tableModel; > > A primera vista, nunca tendría un atributo ResultSet. Lee el ResultSet yguarda la info en un List, Set o lo que mejor > te venga. > > En segundo lugar, las conexiones a la BD, ¿en qué momento las liberas?, en ningún sitio. Forma correcta de hacer una > consulta (más o menos): > > public void foo() { > *** ***Connection conn = null; > *** ***Statement stmt = null; > *** ***try { > *** *** ***conn = getConexion()....; > *** *** ***stmt = conn.createStatement.... > *** *** ***ResultSet rs = stmt.executeQuery.... > *** *** ***// Bucle para recorrer el ResultSet y guardarlo en una estructura.... > *** *** ***while(rs.hasNext()) { > *** *** *** *** ***..... > *** *** ***} > *** ***} catch (Exception ex) { > *** *** ***ex.printStackTrace(); > *** ***} finally { > *** *** ***try { > *** *** *** ***if (stmt != null) { > *** *** *** *** ***stmt.close(); > *** *** *** ***} > *** *** *** ***if (conn != null) { > *** *** *** *** ***conn.close(); > *** *** *** ***} > *** *** ***} catch (SQLException ex) { > *** *** *** ***ex.printStackTrace(); > *** *** ***} > *** ***} > > } > > Si no tienes más remedio, usa las conexiones así, pero yo usaría pooles de conexiones, o algo como Hibernate para > gestionar todo eso. > > Al dejar conexiones y statements abiertos, dejas muchos recursos sin liberar, por lo que te quedas sin memoria... Muchas gracias por tus sugerencia, me parece muy importante lo que me indicas lo tomare muy en cuenta. Saludos |
| |||
| On 22 feb, 04:57, Eduardo Yáñez Parareda <eduardo.yanezNOS...***NOSPAMgmail.com> wrote: > > private Connection conexion; > > private ResultSet consulta; > > private ResultSetTableModel tableModel; > > A primera vista, nunca tendría un atributo ResultSet. Lee el ResultSet yguarda la info en un List, Set o lo que mejor > te venga. > > En segundo lugar, las conexiones a la BD, ¿en qué momento las liberas?, en ningún sitio. Forma correcta de hacer una > consulta (más o menos): > > public void foo() { > *** ***Connection conn = null; > *** ***Statement stmt = null; > *** ***try { > *** *** ***conn = getConexion()....; > *** *** ***stmt = conn.createStatement.... > *** *** ***ResultSet rs = stmt.executeQuery.... > *** *** ***// Bucle para recorrer el ResultSet y guardarlo en una estructura.... > *** *** ***while(rs.hasNext()) { > *** *** *** *** ***..... > *** *** ***} > *** ***} catch (Exception ex) { > *** *** ***ex.printStackTrace(); > *** ***} finally { > *** *** ***try { > *** *** *** ***if (stmt != null) { > *** *** *** *** ***stmt.close(); > *** *** *** ***} > *** *** *** ***if (conn != null) { > *** *** *** *** ***conn.close(); > *** *** *** ***} > *** *** ***} catch (SQLException ex) { > *** *** *** ***ex.printStackTrace(); > *** *** ***} > *** ***} > > } > > Si no tienes más remedio, usa las conexiones así, pero yo usaría pooles de conexiones, o algo como Hibernate para > gestionar todo eso. > > Al dejar conexiones y statements abiertos, dejas muchos recursos sin liberar, por lo que te quedas sin memoria... Muchas gracias por tus sugerencia, me parece muy importante lo que me indicas lo tomare muy en cuenta. Saludos |
| |||
| On 22 feb, 04:57, Eduardo Yáñez Parareda <eduardo.yanezNOS...***NOSPAMgmail.com> wrote: > > private Connection conexion; > > private ResultSet consulta; > > private ResultSetTableModel tableModel; > > A primera vista, nunca tendría un atributo ResultSet. Lee el ResultSet yguarda la info en un List, Set o lo que mejor > te venga. > > En segundo lugar, las conexiones a la BD, ¿en qué momento las liberas?, en ningún sitio. Forma correcta de hacer una > consulta (más o menos): > > public void foo() { > *** ***Connection conn = null; > *** ***Statement stmt = null; > *** ***try { > *** *** ***conn = getConexion()....; > *** *** ***stmt = conn.createStatement.... > *** *** ***ResultSet rs = stmt.executeQuery.... > *** *** ***// Bucle para recorrer el ResultSet y guardarlo en una estructura.... > *** *** ***while(rs.hasNext()) { > *** *** *** *** ***..... > *** *** ***} > *** ***} catch (Exception ex) { > *** *** ***ex.printStackTrace(); > *** ***} finally { > *** *** ***try { > *** *** *** ***if (stmt != null) { > *** *** *** *** ***stmt.close(); > *** *** *** ***} > *** *** *** ***if (conn != null) { > *** *** *** *** ***conn.close(); > *** *** *** ***} > *** *** ***} catch (SQLException ex) { > *** *** *** ***ex.printStackTrace(); > *** *** ***} > *** ***} > > } > > Si no tienes más remedio, usa las conexiones así, pero yo usaría pooles de conexiones, o algo como Hibernate para > gestionar todo eso. > > Al dejar conexiones y statements abiertos, dejas muchos recursos sin liberar, por lo que te quedas sin memoria... Muchas gracias por tus sugerencia, me parece muy importante lo que me indicas lo tomare muy en cuenta. Saludos |
| |
| |
![]() |
| Herramientas | |
| Desplegado | |
| |
Temas Similares | ||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Lentitud en mi sistema cuando hay muchos usuarios conectados a labase de datos | farego19@gmail.com | Newsgroup microsoft.public.es.vfoxpro | 1 | 23-06-2008 19:02:57 |
| Actualizacion de Base de Datos Mediante Un Resultset | luisfleon@gmail.com | Newsgroup es.comp.lenguajes.java | 5 | 13-03-2008 18:12:44 |
| Posible perdida de datos | Sergio | Newsgroup microsoft.public.es.windowsxp.hardware | 12 | 16-10-2007 13:43:25 |
| Adicionar coma a datos character | Alonso Vilela | Newsgroup microsoft.public.es.vfoxpro.datos | 0 | 14-02-2007 22:31:35 |
| ResultSet - Posicionarse en un registro | Juan Carlos Trapero | Newsgroup es.comp.lenguajes.java | 6 | 18-08-2005 15:22:08 |