David McAfee
davidmcafee at gmail.com
Wed Jun 8 12:22:21 CDT 2011
This is what I do with SQLCE when I need to modify the SDF, which shouldn't differ too much from SQL Server: Dim strCEconn As String = "Data Source = " & strPath & strFileName Dim CEconn As SqlServerCe.SqlCeConnection = New SqlServerCe.SqlCeConnection(strCEconn) CEconn.Open() Dim CEcmd As SqlServerCe.SqlCeCommand = CEconn.CreateCommand CEcmd.CommandText = "CREATE TABLE InvoiceOrderJunct([InvNo] [nvarchar](8) NULL, [OrderID] [int], [AMNo] [nvarchar](10) NULL)" CEcmd.ExecuteNonQuery() CEcmd.Dispose() CEconn.Close() CEconn.Dispose() I had to do this in one of my webservice functions, when we had weird issues: <WebMethod()> _ Public Function InsertInvHdr(ByVal strInput As String, ByVal dsIn As DataSet) As String Dim errNum As Integer Dim errMsg As String Dim myConnection As SqlConnection Dim myCommand As SqlCommand Dim row As DataRow Call fUnSecureString(strInput) Try 'Following parameters are determined from strInput hash saved as global variables myConnection = New SqlConnection("server=" & ServerName & ";uid=" & strUid & ";pwd=" & strPw& ";database=" & strDBname) myConnection.Open() myCommand = New SqlCommand myCommand.Connection = myConnection For Each row In dsIn.Tables(0).Rows myCommand.CommandText = "EXEC stpInsertIntoInvHdr '" & row("ICNo").ToString() & "', '" & row("StoreNo").ToString() & "', '" & row("CustNo").ToString() myCommand.ExecuteNonQuery() Next Return "InvHdr data inserted" 'myConnection.Close() '****************************************************************** ' Added the 2 IF statements below on 8/4/2010 to see if it clears out sleeping processes If (Not (myCommand) Is Nothing) Then myCommand.Dispose() myCommand = Nothing End If If (Not (myConnection) Is Nothing) Then myConnection.Close() End If '******************************************************** Catch ex As Exception errNum = Err.Number errMsg = ex.Message Return "SQL/WS Error: WS.InsertInvHdr - " & errNum & ":" & errMsg 'Finally ' myConnection.Close() End Try End Function On Wed, Jun 8, 2011 at 8:47 AM, Francisco Tapia <fhtapia at gmail.com> wrote: > so I have a vb.net app (visual studio 2008) and I am making some sproc > calls > like so: > > > conn = New SqlConnection(My.MySettings.Default.dbConn) > cmd = New SqlCommand("dbo.stp_PCO", conn) > cmd.CommandType = CommandType.StoredProcedure > conn.Open() > da.SelectCommand = cmd > da.Fill(dtCTable) > > I've also tried closing my connections after usage by using the following > closing statments > > dtCtable.Dispose() > dtClockTable = nothing > cmd.Dispose() > cmd = nothing > da.Dispose() > da = nothing > conn.close() > conn.Dispose() > conn = nothing > > but when I check my sql server I still see sleeping entires in the activity > monitor suggesting that a connection is still active. How do I sever the > connection completely? I know a connection is alive and well because I > noticed that if I completely close the application the connection goes from > sleeping to gone. I want my connections to close once the data has been > retrieved to allow the server to reuse that memory if needed. > > in vb 6 it used to be so simple with just ado :( > > your help is of course appreciated! > > > -Francisco > _______________________________________________ > dba-VB mailing list > dba-VB at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/dba-vb > http://www.databaseadvisors.com > >