Cerrar conexión desde VB a SQL Server 2008

Tengo un problema para publicar un proyecto en IIS, al momento de loguearme en mi página de inicio sale el siguiente error:
Error de servidor en la aplicación '/Ad-CaSo'.
--------------------------------------------------------------------------------
La conexión no se cerró. El estado actual de la conexión es abierta.
Descripción: Excepción no controlada al ejecutar la solicitud Web actual. Revise el seguimiento de la pila para obtener más información acerca del error y dónde se originó en el código.
Detalles de la excepción: System. InvalidOperationException: La conexión no se cerró. El estado actual de la conexión es abierta.
Error de código fuente:
Se ha generado una excepción no controlada durante la ejecución de la solicitud Web actual. La información sobre el origen y la ubicación de la excepción pueden identificarse utilizando la excepción del seguimiento de la pila siguiente.
Seguimiento de la pila:
[InvalidOperationException: La conexión no se cerró. El estado actual de la conexión es abierta.]
   System. Data. ProviderBase. DbConnectionInternal. OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) +21
   System. Data. SqlClient. SqlConnection.Open() +122
   Ad_CaSo.Inicio.ButtonIngresar_Click(Object sender, EventArgs e) in C:\Documents and Settings\JAVIER1\Mis documentos\Visual Studio 2008\Projects\Ad-CaSo\Ad-CaSo\Paginas\Inicio.aspx.vb:55
   System. Web. UI. WebControls. Button.OnClick(EventArgs e) +111
   System. Web. UI. WebControls. Button.RaisePostBackEvent(String eventArgument) +110
   System. Web. UI. WebControls. Button. System. Web. UI. IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10
   System. Web. UI. Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13
   System. Web. UI. Page.RaisePostBackEvent(NameValueCollection postData) +36
   System. Web. UI. Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1565
--------------------------------------------------------------------------------
Información de versión: Versión de Microsoft .NET Framework:2.0.50727.3603; Versión ASP.NET:2.0.50727.3614
Error de servidor en la aplicación '/Ad-CaSo'.--------------------------------------------------------------------------------
La conexión no se cerró. El estado actual de la conexión es abierta. Descripción: Excepción no controlada al ejecutar la solicitud Web actual. Revise el seguimiento de la pila para obtener más información acerca del error y dónde se originó en el código.
Detalles de la excepción: System. InvalidOperationException: La conexión no se cerró. El estado actual de la conexión es abierta.
Error de código fuente:
Se ha generado una excepción no controlada durante la ejecución de la solicitud Web actual. La información sobre el origen y la ubicación de la excepción pueden identificarse utilizando la excepción del seguimiento de la pila siguiente.
Seguimiento de la pila:
[InvalidOperationException: La conexión no se cerró. El estado actual de la conexión es abierta.]   System.Data.ProviderBase.DbConnectionInternal.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) +21   System.Data.SqlClient.SqlConnection.Open() +122   Ad_CaSo.Inicio.ButtonIngresar_Click(Object sender, EventArgs e) in C:\Documents and Settings\JAVIER1\Mis documentos\Visual Studio 2008\Projects\Ad-CaSo\Ad-CaSo\Paginas\Inicio.aspx.vb:55   System.Web.UI.WebControls.Button.OnClick(EventArgs e) +111   System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +110   System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10   System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13   System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +36   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1565
--------------------------------------------------------------------------------Información de versión: Versión de Microsoft .NET Framework:2.0.50727.3603; Versión ASP.NET:2.0.50727.3614

<span style="font-weight: normal;">Cada vez que abri la base de datos la cerre con Conex.Close() y ya; pero no se como comprobar de q en realidad se esta cerrando la BD ya que cuando la compilo funciona correctamente. Estoy usando SQL Server 2008 Express en el entorno Visual Web Developer 2008 Express desarrollando en VB Gracias por la ayuda.</span>

1 respuesta

Respuesta
1
Se me ocurre que revises que el sql express acepte conexión remotas por tcp y por pipes.
Lo otro es que antes de hacer el: cnn.Open(), verifiques si  cnn.State = System.Data.ConnectionState.Open
Si esa pregunta da verdadero no abres al conexión porque ya esta abierta.
Bueno ya realice la prueba y efectivamente mi BD se abre cuando hago conex.open() es decir NO permanece abierta, y tengo entendido el SQL Server 2008 Express ya trae por defecto la configuración para que acepte conexiones remotas. Estoy pensando en si sera de pronto algún incompatibilidad entre el IIS version 5.1 y el entorno Express 2008. Este problema me tiene muy desconcertado. O si hay otra manera de publicar mi proyecto hecho en Visual Web Developer 2008 Express que no sea por el IIS.
Si es una aplicación asp.net, con VS2008 debes tener como mínimo IIS 6, es posible que esos son tus problemas.
Siento estar molestando tanto con esto, pero es para mi trabajo de tesis y nada que encuentro la solución. Instale el IIS 6 y el problema persiste; hay alguna manera de revisar que efectivamente se estén cerrando las conexiones a la BD
Gracias por el interés mostrado; el problema ya lo resolví, lo que ocurría era que en la página de inicio estaba usando dos Conex.Open() efectivamente cada uno estaba cerrado con el Conex.Close(), pero al tener dos .Open() en un mismo Button estaba creando la falla. Así reorganice colocando un .Open() globalmente y cerrándolo al final.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas