Home TADOConnection.Close - connection still active on MS-SQL server
Reply: 1

TADOConnection.Close - connection still active on MS-SQL server

Heinzi Tuberkel
Heinzi Tuberkel Published in 2018-02-09 12:02:07Z

I have several Delphi programs (XE3), that use a TADOConnection to connect to a MS-SQL Server. I recently checked the connections in the "MS SQL Server Management Studio"'s process list.

  • When the program starts, the connection is inactive, no connection in the server's process list.
  • When I open the connection it's shown in the process list - as expected.
  • When I close the connection (definitely the property "Connected" returns FALSE), the connection is still shown on the servers process list.

On the server the Connection is not closed until I close the program.

Is there a way to close the TADOConnection in a way that really removes the connection on the server without exiting the program?

Ian Boyd
Ian Boyd Reply to 2018-02-13 15:25:26Z

This is connection pooling; and is a good thing.

But if you really want to hurt performance, you can opt-out of connection pooling features by adding the request to your connection string:

Provider=SQLOLEDB;Data Source=myServerAddress;Initial Catalog=myDataBase;
User ID=myUsername;Password=correct horse battery stapler;OLE DB Services=-2;

These OLE DB Services options are documented on MSDN:

Pooling in the Microsoft Data Access Components (archive)

OLE DB Services  Services enabled
===============  ==================================================
-1               All services (the default)
-2               All services except pooling
-4               All services except pooling and auto-enlistment
-5               All services except client cursor
-6               All services except client cursor and pooling
 0               No services
You need to login account before you can post.

About| Privacy statement| Terms of Service| Advertising| Contact us| Help| Sitemap|
Processed in 0.304116 second(s) , Gzip On .

© 2016 Powered by mzan.com design MATCHINFO