This article was previously published under Q245543
The ODBC Connection Pooling counters in Performance Monitor keep track of all the connections that are from the Connection Pool of the ODBC Driver manager. ODBC Connection Pooling does not keep track of the connections that are NOT pooled. Also, ODBC Connection Pooling does not keep track of any session that you open from an OLEDB consumer.
There are six counters for this ODBC Connection Pooling object in the Performance Monitor. To see a detailed description of these counters please refer to the Pooling Resource (http://msdn2.microsoft.com/en-us/library/ms810829.aspx) article.
Microsoft ActiveX Data Objects (ADO) is an OLEDB consumer. You can enable Session Pooling from a standalone ADO program by keeping a global connection open all the time. If you enable Session Pooling in ADO you cannot see any activity in the ODBC Connection Pooling counters in the Performance Monitor.
Instead of enabling Session Pooling in ADO, you can enable Connection Pooling if and ONLY if you are using the Microsoft OLEDB Provider for ODBC Driver. To enable Connection Pooling in ADO, using that particular provider, you must call the SQLSetEnvAttr function with the proper parameters.
After enabling Connection Pooling you can see all the activities with ODBC Connection Pooling counter in the Performance Monitor.
228843 HOWTO: Implement Session Pooling from Visual Basic ADO Program
237844 HOWTO: Enable ODBC Connection Pooling in a Visual Basic ADO Application