ADO .NET を使用してデータベースに接続しています。
Dim conn As SqlConnection
Dim sqlcmd As SqlCommand
Dim da As SqlClient.SqlDataAdapter
Dim table As DataTable
conn = New SqlConnection(Utilities.ConnectionString)
sqlcmd = New SqlClient.SqlCommand()
sqlcmd.Connection = conn
sqlcmd.CommandType = CommandType.StoredProcedure
sqlcmd.CommandText = "mySP"
sqlcmd.Parameters.Add(New SqlClient.SqlParameter("@param", param1))
da = New SqlClient.SqlDataAdapter()
da.SelectCommand = sqlcmd
table = New DataTable()
da.Fill(table)
conn.Close()
sqlcmd.Connection.Close()
それはうまくいきます。SQL Server で起動すると、次のコマンドが実行されます。
EXEC SP_WHO2
ADO .NET の前のコードから行われた呼び出しごとに、フィールド Command に値 "AWAITING COMMAND" があり、フィールド Status の値は "sleeping" です。これはどういう意味ですか?データベースへの接続はまだアクティブですか? データベース接続を閉じるにはどうすればよいですか?