使用语句离开SQL连接一段时间

时间:2015-02-10 12:34:26

标签: vb.net database-connection using-statement

我正在执行多个查询并监控服务器我看到连接在End Using声明之后保持打开一段时间(3-5分钟?)。

这是using声明的正常行为吗?

我的查询执行使用自定义类bdConex,看起来像:

    Dim cnx As New bdConex({Id})
    Using cnx.conexionBD
        cnx.query("MyStoredProcedure")

        If cnx.dataReader.Read Then
            Me.Id = cnx.item(Of Integer)("fk_item")
            Me.Number= cnx.item(Of String)("number")
        End If
    End Using
    cnx.close()

其中:

Public Class bdConex
Public Property conexionBD As SqlConnection
Public Property dataReader As SqlDataReader

Public Sub query(ByVal ssql As String)

    If InStr(ssql, "select", CompareMethod.Text) <> 1 Then
        ssql = String.Concat("Exec ", parseSQL(ssql))
    End If

    If Me.ActivarLog = TipoDeLog.ErroresYConsultas Then
        logger.log(ssql, "bdConex.query()")
    End If

    Try
        Using Me.conexionBD
            Me.conexionBD = New SqlConnection(Me.cadena_de_conexion)
            Me.conexionBD.Open()

            Dim myCommand As SqlCommand = New SqlCommand(ssql, Me.conexionBD)

            Me.dataReader = myCommand.ExecuteReader(CommandBehavior.CloseConnection)

            Me.HasRows= Me.dataReader.HasRows
        End Using
    Catch ex As Exception
        Me.HasRows = False
        'log error
    End Try
End Sub

由于

0 个答案:

没有答案