Sql server SQL Server池问题
我编写了一个web应用程序,其中不允许此应用程序的连接池。我已经编写了如下所示的示例代码,它20次从我的表中获取记录,并填写我每次都有密切联系的数据集 但如果我查看SQLServer活动监视器,它会显示一个在睡眠模式下打开的连接 有人告诉我为什么会这样吗? 如果用户增加,睡眠连接是否会增加? 如果SQL Server对我的连接进行池化,那么如果我不允许此应用程序进行池化,为什么要进行池化?我怎样才能避免这种情况? 获取数据的代码Sql server SQL Server池问题,sql-server,connection-pooling,Sql Server,Connection Pooling,我编写了一个web应用程序,其中不允许此应用程序的连接池。我已经编写了如下所示的示例代码,它20次从我的表中获取记录,并填写我每次都有密切联系的数据集 但如果我查看SQLServer活动监视器,它会显示一个在睡眠模式下打开的连接 有人告诉我为什么会这样吗? 如果用户增加,睡眠连接是否会增加? 如果SQL Server对我的连接进行池化,那么如果我不允许此应用程序进行池化,为什么要进行池化?我怎样才能避免这种情况? 获取数据的代码 Try Dim i As Integer For i =
Try
Dim i As Integer
For i = 0 To 20
Dim _db As New commonlib.Common.DBManager(ConfigurationManager.ConnectionStrings("ConnectionString").ConnectionString.ToString())
GridView1.DataSource = _db.ExecuteDataSet(CommandType.Text, "SELECT * FROM BT_AppSetting")
GridView1.DataBind()
Next
Catch ex As Exception
Response.Write(ex.Message.ToString())
ex = Nothing
End Try
DBManager构造函数
'CONSTRUCTOR WHICH ACCEPTS THE CONNECTION STRING AS ARGUMENT
Public Sub New(ByVal psConnectionString As String)
'SET NOT ERROR
_bIsError = False
_sErrorMessage = Nothing
_cn = New SqlConnection
_sConnectionString = psConnectionString
_cn.ConnectionString = _sConnectionString
Try
_cn.Open()
Catch ex As Exception
_bIsError = True
_sErrorMessage = ex.ToString
ex = Nothing
End Try
End Sub
ExecuteDataSet函数体
Public Function ExecuteDataSet(ByVal CmdType As CommandType, ByVal CmdText As String, ByVal ParamArray Params As SqlParameter()) As DataSet
Try
Dim cmd As New SqlCommand
Dim da As New SqlDataAdapter(cmd)
Dim ds As New DataSet
PrepareCommand(cmd, CmdType, CmdText, Params)
da.Fill(ds)
cmd.Parameters.Clear()
If _cn.State = ConnectionState.Open Then
_cn.Close()
End If
Return ds
Catch ex As Exception
_sErrorMessage = ex.ToString
_bIsError = True
ex = Nothing
Return Nothing
End Try
请帮帮我。。。。等待善意回复1我认为sql server没有立即关闭连接。这就是你看到它的原因 2由于您正在关闭连接,因此应该只看到一个连接。除非您的用户同时运行代码。e、 g如果它在一个网页中,并且有2个用户,那么您将/应该看到2个连接 此外,如果你不关闭你的连接只是为了尝试你的连接数应该:上升
共享连接的是您的.net应用程序,而不是sql server。请显示您的连接字符串!除非明确关闭连接池,否则默认情况下它将是池;还有-你到底为什么要关掉它???