Sigo teniendo nuemrosos problemas con mis conexiones a bases de datos, el server me dice que TOO many client tasks... intento cerrar todas las conexiones que abro...
Tengo una serie de paginas con el siguiente problema...
En el principio del codigo abro la conexion a la base de datos..... y al final de la pagina la cierro...
el problema es que en el medio de la pagina, en mi codigo tengo varios Response.Redirect.... por lo que hay se produce un salto y imagino que nunca llegara a ejecutarse ese cierre de conexion que hago al fuinal de la pagina....
os pongo el codigo de ejemplo:
Código:
<!--#include file="logon.inc"--> <% ' Proceso la entrada de información en función del tipo de operación Select Case Request.Form("tipo") Case "insert" strTipoInfo="0" stremail=Replace(Request.Form("email"),"'", """") strnombre=Replace(Request.Form("nombre"),"'", """") If Not ISEMAIL(stremail) then advertencia="La direccion de email introducida es erronea" Response.Redirect("admin.email.asp?senal=" & advertencia &"&tipo=insert&nom="&strnombre&"&mail="&stremail&"") End If If EMAILREPETIDO (stremail) then advertencia="Ya hay un destinatario en la base de datos con ese E-mail" Response.Redirect("admin.email.asp?senal=" & advertencia &"&tipo=insert&nom="&strnombre&"&mail="&stremail&"") End If SQL="INSERT INTO emails (email, nombre) VALUES" SQL=SQL &" ('" & stremail &"', '" & strnombre &"');" Conn.Execute SQL ' Recupero el ultimo valor establecido en el PK Dim lngUltimo SQL="SELECT MAX(codemail) AS Ultimo FROM emails;" Set Snap=Server.CreateObject("ADODB.Recordset") Snap.Open SQL, Conn If Not(Snap.EOF And Snap.BOF) Then If Not(Isnull(Snap.Fields("Ultimo"))) Then lngUltimo=Snap.Fields("Ultimo") End If End If ' Redirijo a la página Response.Redirect("admin.emails.asp") Case "update" stremail=Replace(Request.Form("email"),"'", """") strnombre=Replace(Request.Form("nombre"),"'", """") stremail=Replace(Request.Form("email"),"'", """") If Not ISEMAIL(stremail) then advertencia="La direccion de email introducida es erronea" Response.Redirect("admin.email.asp?senal=" & advertencia &"&tipo=insert&nom="&strnombre&"&mail="&stremail&"") End If If EMAILREPETIDO (stremail) then advertencia="Ya hay un destinatario en la base de datos con ese E-mail" Response.Redirect("admin.email.asp?senal=" & advertencia &"&tipo=insert&nom="&strnombre&"&mail="&stremail&"") End If SQL="UPDATE emails SET email='" & stremail &"', nombre='" & strnombre &"'" SQL=SQL & " WHERE codemail=" & Request.Form("codemail") & ";" Conn.Execute SQL ' Redirijo a la página Response.Redirect("admin.emails.asp") End Select ' Operación de Borrado If Request.QueryString("tipo")="delete" Then SQL="DELETE FROM emails WHERE codemail=" & Request.QueryString("codemail") & ";" Conn.Execute SQL ' Redirijo a la página Response.Redirect("admin.emails.asp") End If %> <!--#include file="close.inc"-->
En el archivo de inclusion logon abro la conexion, y la cierro en el close.inc...como veis entre medias hay varios response.redirect... mi duda es si realemnte no se esta ejecutnado el close.inc nunca...
Muchas gracias.