Login | Register   
LinkedIn
Google+
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


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

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.

 

 

Sitemap