The first line in my global.asax is the creation of an ActiveX object that will hold a data connection to a SQL2000 Server database for the lifespan of an "Application" scope.
< OBJECT RUNAT="Server" SCOPE="Application" ID="Conn" name="Conn" PROGID="ADODB.Connection" VIEWASTEXT >< /OBJECT >
With that done, every time a new user invokes global.asax, a routine will verify rather it needs to open the connection or if the connection is already open:
If Conn.State <> adStateOpen Then
Conn.ConnectionTimeOut = 999999
Conn.ConnectionString = strConnStr
Conn.CursorLocation = adUseClient
Conn.Open
End If
The purpose of this is to avoid 400 simultaneous users from having to wait for their connections to estabilish communication to the server before initiating transaction.
Surprisingly enough, this works perfectly (for a massively shared, perpetual Connection object), except that once or twice a month, a record disapears from the main database and takes with it all relevant records from supporting tables.
Yes, it seems like a Forced Roolback is being issued...
Do you see Why?
Aleks,I don't see anything that would cause that behavior based on the code you've provided.
Logging deletions through a trigger is one possible first step to figuring out when, where and why the behavior is occurring.
David Sceppa
Microsoft
没有评论:
发表评论