Hola,
Estoy intentando hacer un programa que cada vez que tiene que hacer
cualquier operación contra la base de datos verifique que la conexión es
válida. Para comprobarlo detengo el servicio de sql server y lo vuelvo a
iniciar. He intentado comprobar el estado de la conexión con
"connection.state", pero ha sido inutil pq el estado era siempre open, pero
luego cascaba. Cascaba incluso aunque la cerrara y la volviera abrir. Al
final he decidido hacer una conexión nueva cada vez que tenga que hacer una
operación contra la BBDD. Pero me sigue cascando.
El código es el siguiente:
''pongo el valor de la conexión a nothing y llamo a una función que me da
una conexión nueva
...
''La vble conn es global
conn = Nothing
iniSQL(excepcion)
..
Public Function iniSQL(ByRef excepcion As String) As Boolean
Try
conn = New System.Data.SqlClient.SqlConnection(GetConStr())
''loggear("conexion inicio" + Date.Now.Ticks.ToString)
conn.Open()
''loggear("conexion fin" + Date.Now.Ticks.ToString)
excepcion = ""
Return True
Catch ex As Exception
excepcion = ex.Message
Return False
End Try
End Function
________________________________________________________________________
Una vez tengo la conexión cualquier operación contra la bbdd casca.
Esto pasa solo cuando paro y reinicio el servicio de SQL Server. Si no, el
código funciona perfectamente.
Leer las respuestas