i have a problem with my connection-pooling in my sa-12 server. In my programm is often open and close connections (for nearly every query). After a while, i get the error message that the maximum of poolsize is reached. if i take a look in Sybase Central, there are a lot of Connections with the type: "CONNECTPOOLCACHE".
If i add CPOOL=No to my connection-string, nothing changed. There are also a lot of connections.
Does anybody else had this problem and got a solution?
asked 18 Feb '14, 03:09
What API are you using? I'm asking since the .NET Data Provider does its own connection pooling (client-side) by default and does not use the SQL Anywhere connection pooling facility which can be used via the CPOOL connection parameter.
Note: Both ways of connection pooling allow to specify the maximum amount of pooled connections, cf. "Max Pool Size=" for .NET and the "MaxCached=" modifier for the CPOOL parameter.
So what kind of connection pooling do you use?
If your message says this: Timeout expired. The timeout period elapsed before obtaining a connection from the pool. This may have occurred because all pooled connections were in use and max pool size was reached.
If your pool size is 3, then you have attempted to open a 4th connection using the same connection string while the other 3 connections were still in use.
What is your Connect Timeout/Connection Timeout? The default is 15 seconds and the maximum is 60 seconds.
There are three things you could do.