I hate to ask this before the DotNet-Morons list is up and working, but I'm sort of confused about this.
I have a project that has one connection, and 3 data adapters and 4 or 5 command objects. The project has 2 timers. tmrRequests fires every 10 seconds tmrMonitor fires ever 10 minutes Everything works fine at first but then eventually I start getting errors in the eventlog that are: "There is already an open DataReader associated with this Connection which must be closed first." So something must be going wonky after a little while, and those errors, once they start just continue every 10 seconds. So when I'm working with the connection I do the following: Try Dim dsRunningParams As DataSet = New DataSet() Dim table As DataTable Dim row As DataRow Dim rowIndex As Integer If conReportDB.State = ConnectionState.Closed Then conReportDB.Open() daGetRunningParams.Fill(dsRunningParams) conReportDB.Close() .... work with data here... Catch e as exception If conReportDB.State = ConnectionState.Open Then conReportDB.Close() Finally If conReportDB.State = ConnectionState.Open Then conReportDB.Close() End try I thought that was sufficient to take care of everything, but apparently something eventually stays attached somewhere and I'm not sure where. All the code I have using the connection follows the same format as shown above. Is there something I'm not doing to release things properly? Also... would this be happening randomly b/c the 10 minute timer eventually collides with the 10second timer and they're both trying to use the same connection? Is there a good way to avoid that or should I establish another connection for that timer to use? Again, sorry for the dumb question. =Blain You can read messages from the DOTNET archive, unsubscribe from DOTNET, or subscribe to other DevelopMentor lists at http://discuss.develop.com.