Browse DevX
Sign up for e-mail newsletters from DevX

Tip of the Day
Language: VBS,IIS4,IIS5
Expertise: Intermediate
Sep 23, 2000



Building the Right Environment to Support AI, Machine Learning and Deep Learning

Don't use implicit connections when opening a Recordset

As most ADO developers know well, there are basically two distinct syntax for opening a Connection and then a Recordset: you can explicitly create and open a Connection object, and then pass it to the 2nd argument of the Recordset's Open method (or assign to the Recordset's ActiveConnection property, which has the same effect). Or you can create an implicit connection object by passing a connection string to the 2nd argument of the Recordset's Open method.

In regular Visual Basic programs, the two techniques are equivalent, but when you work under ASP the story is different, and it's more complex. In fact, when you create a Recordset object using Server.CreateObject and then open it - thus creating an implicit Connection object - that connection isn't automatically returned to the Connection pool when the Recordset is closed (or when the page completes its execution). Instead, the connection is returned to the pool only when it times out, usually after one minute. Needless to say, this can be an obstacle that can prevent your site from scaling correctly, and should be avoided by creating a Connection object explicitly.

Notice that you don't have this problem if you instantiate the Recordset using the CreateObject function, instead of the Server.CreateObject method.

Francesco Balena
Comment and Contribute






(Maximum characters: 1200). You have 1200 characters left.



Thanks for your registration, follow us on our social networks to keep up-to-date