Foros del Web » Programando para Internet » ASP Clásico »

Cerrar conexion

Estas en el tema de Cerrar conexion en el foro de ASP Clásico en Foros del Web. Le hago una consutla quiero saber si estoy cerrando bien la coenxion a la base cuando termino de mostrar los resultados de una base de ...
  #1 (permalink)  
Antiguo 04/08/2009, 05:46
 
Fecha de Ingreso: abril-2005
Mensajes: 112
Antigüedad: 20 años
Puntos: 0
Pregunta Cerrar conexion

Le hago una consutla quiero saber si estoy cerrando bien la coenxion a la base cuando termino de mostrar los resultados de una base de datos mysql. quiero cerrar la coenxion proque aparentemente quedan abiertas y consumen recursos

El codigo que tengo es el siguiente
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open sqlstmt, Dados, 3, 3
TotalRecs = rs.recordcount
x = 0
For x = 1 to 9999
If rs.eof then
Exit For
Else
date1 = rs("data")
id = rs("ID")
producto= rs("producto")
marca = rs("marca")
modelo = rs("modelo")
link = "<a href='solicitarb.asp?id=" & id & "'>" & solicitar & "</a>"
%>

<%
counter=0
Do While Not Rs.EOF
date1 = rs("data")
id = rs("ID")
producto= rs("producto")
marca = rs("marca")
modelo = rs("modelo")
link = "<a href='solicitarb.asp?id=" & id & "'>" & solicitar & "</a>"
%>

<%
counter=counter+1
If counter Mod 4=0 Then Response.Write "</tr><tr>"
Rs.MoveNext
Loop
end if
next
%>

<% Set rs = Nothing
Set Conexion = Nothing %>


esta bien asi?
o deberia ser asi?:
<% rs.Close
Set rs=Nothing %>
__________________
CRISTIANF
Talen ese arbol, que me tapa el bosque!!! :censura:
  #2 (permalink)  
Antiguo 04/08/2009, 18:53
Avatar de mc_quake  
Fecha de Ingreso: enero-2006
Ubicación: www.ecocargo.cl
Mensajes: 683
Antigüedad: 19 años, 3 meses
Puntos: 8
Respuesta: Cerrar conexion

<%
rs.Close ' Cierras el objeto Rs
Set rs=Nothing ' Liberas el objeto Rs
%>
__________________
Mc_Quake

Para ayudar en lo que se pueda:Zzz:
  #3 (permalink)  
Antiguo 04/08/2009, 20:17
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 3 meses
Puntos: 146
Respuesta: Cerrar conexion

La diferencia aunque quizá obvia, es que al cerrarlo puedes volver a utilizarlo con una nueva consulta si deseas, y al liberarlo si quisieras volver a llenar el recordSet tendrías que volver a instanciarlo.

Normalmente uno abre y cierra tantas veces se ocupe un recordSet en una página pero solo lo instancias y liberas (o lo creas y destruyes) una vez.

Ahora, hablando de la conexión, el IIS al terminar de servir la página destruye los objetos creados y no liberados, debo volver a buscar donde dice si es de forma inmediata o no, de esto hablamos hace ya algunos años, según recuerdo era de forma inmediata, pero deja veo si encuentro la referencia que afirme o niegue mi aseveración.
  #4 (permalink)  
Antiguo 05/08/2009, 12:27
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 3 meses
Puntos: 98
Respuesta: Cerrar conexion

Cita:
Iniciado por Myakire Ver Mensaje
La diferencia aunque quizá obvia, es que al cerrarlo puedes volver a utilizarlo con una nueva consulta si deseas, y al liberarlo si quisieras volver a llenar el recordSet tendrías que volver a instanciarlo.

Normalmente uno abre y cierra tantas veces se ocupe un recordSet en una página pero solo lo instancias y liberas (o lo creas y destruyes) una vez.

Ahora, hablando de la conexión, el IIS al terminar de servir la página destruye los objetos creados y no liberados, debo volver a buscar donde dice si es de forma inmediata o no, de esto hablamos hace ya algunos años, según recuerdo era de forma inmediata, pero deja veo si encuentro la referencia que afirme o niegue mi aseveración.
No recuerdo esa discusión, pero a mi se me hace que no es de forma inmediata, me imagino que dependiendo de su configuración los destruirá cuando el servidor lo necesite mediante el reciclaje del pooling correspondiente, por eso es que se cita como una buena práctica cerrar y destruir los objetos tan pronto se terminen de utilizar.

Saludos
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #5 (permalink)  
Antiguo 05/08/2009, 17:27
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 3 meses
Puntos: 146
Respuesta: Cerrar conexion

Recuerdo que esa discusión la tuvimos creo que con Neuron hace alrededor de unos 5 años, yo defendía la idea de destruir los objetos desde código y un usuario que no era necesario mientras tu solo entrabas a trollear y creo que neuron sacó una liga al MSDN que le dio la razón a alguien, pero no recuerdo a quien

Al rato veo si encuentro algo de esto, igual a lo mejor mi memoria esta muy perdida ...
  #6 (permalink)  
Antiguo 10/08/2009, 08:49
Avatar de FiNo  
Fecha de Ingreso: octubre-2004
Ubicación: Costa Rica
Mensajes: 265
Antigüedad: 20 años, 6 meses
Puntos: 1
Respuesta: Cerrar conexion

Myakire creo q este era el post http://www.forosdelweb.com/f15/cerra...ection-318407/
__________________
3S-CRM
  #7 (permalink)  
Antiguo 10/08/2009, 10:19
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 3 meses
Puntos: 146
Respuesta: Cerrar conexion

Efectivamente , ese era el post, solo que no ocurrió como mi velada memoria lo recordaba, al final no hay un enlace oficial que diera algún aspecto técnico sobre el caso, entonces lo leí en otro lado.

A ver ...

No busqué mucho pero no encontré nada que me dijera que el IIS cuando se cierra la página destruye todos los objetos abiertos, encontré varias que hablan del pooling que U_G menciona y todo muy bien, hacen notar que solo hay que destruir los objetos cuando ya no se piense usarlos de nuevo, si no es el caso, solo cerrarlos, esto no esta en discusión; también hay otras donde mencionan que los objetos se conservan el tiempo necesario esperando ver si la aplicación los requiere de nuevo, vamos que los objetos cerrados se reusan, por eso el tiempo de espera.

Lo que sería útil es saber si cuando una página se cierra ese pooling se mantiene y por cuánto tiempo, ya que es lógico dar por hecho que no se volverán a usar esos objetos
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 06:12.