2

I have a server supporting a phone system of about 300 phones. When calls are made, many different connections are opened and closed during the course of a call. I'm starting to see "out of database connections" and "timeout expired messages" when making calls to the database.

The call processing software uses an ODBC DSN to connect to the database. I'm guessing that the connection pool is out for the DSN (if that's possible).

How can I check the maximum pool size? If I have to specify the maximum pool size in the connection string, is there a way I can add it with odbcad32 app (maybe in the ini files)? I see the Connection Pooling tab, but it only has the option of how long unused connections remain. These are Windows 2000 and Windows NT systems. I don't have the ability to change the code.

scottm
  • 359
  • 3
  • 5
  • 19

1 Answers1

2

The default size of connection pools is 100. You can change that size in in the connectionstring itself, using the parameter:

Max Pool Size

See here for a complete list of connectionstring parameters.

You should have a good reason to do that. In most cases where you run out of connections, they are leaking (=not properly closed) in the application. If you have access to the source code I would consider closing the connections as soon as the query was executed.

splattne
  • 28,508
  • 20
  • 98
  • 148
  • @splattne I'm sure the connections are leaking. I can see connections open and awaiting a command with the last batch being run over a month ago. However, I don't have the ability to change the code. – scottm Jul 30 '09 at 19:12
  • 1
    You could search for "orphaned user connections." Somewhere I have a script for removing these connections. Will post it tomorrow. – splattne Jul 30 '09 at 19:49