I'm looking at an existing classic asp application. The setup is as follows:
- db.asp: opens a connection using Server.CreateObject("ADODB.Connection") and then calls conn.open
- func.asp: has helper methods to execute queries using the conn object from db.asp
- index.asp: builds queries and makes calls to methods in func.asp
both index.asp and func.asp include db.asp. index.asp includes func.asp No where is conn.close called.
- Will the connections automatically be closed or recovered when the request ends?
- What are the implications of having index.asp and func.asp include db.asp when index.asp includes func.asp? Multiple connections?
- Are there any counters to check the number of connections being made?
I've already used sp_who2 but only see 1 record for the application even when run under different browsers. tried this using both integrated security and a sql account in the connection string.
I looked in performance counters but the numbers never change. They stay at 5. MSSQL$Instance:General Statistics\Logical Connections and MSSQL$Instance:General Statistics\User connections.
We're seeing up to 47 connections from the app in production but I cannot reproduce it locally. The connections were listed as sleeping, not executing.
Running classic asp under IIS 7.5
You should make sure that every connection and every recordset are closed and dereferenced. Example: