Connection pool size

When the number of users of my database increased from around five to around ten, we started to get error messages like the one below. How do I increase this connection pool size? (And why is it apparently set so low?)

Application:500000 --->
Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool. This may have occurred because all pooled connections were in use and max pool size was reached.
Application:127105 --->
Exceptions occurred while executing SQL command.
---- Details ----
Exceptions occurred while executing SQL command: "connect"
---- Server Context ----
at Alphora.Dataphor.DAE.Connection.SQLConnection.WrapException(Exception AException, String AStatement, Boolean AMustThrow)
at Alphora.Dataphor.DAE.Connection.DotNetConnection..ctor(String AConnectionString)
at Alphora.Dataphor.DAE.Connection.Oracle.OracleConnection..ctor(String AConnection)
Application:500000 --->
Exception has been thrown by the target of an invocation.
---- Server Context ----
at Alphora.Dataphor.DAE.Schema.DeviceSession.Execute(DevicePlan ADevicePlan)
at Alphora.Dataphor.DAE.Server.ServerProcess.DeviceExecute(Device ADevice, PlanNode APlanNode)
at Alphora.Dataphor.DAE.Runtime.Instructions.TableNode.ProtectedExecute(ServerProcess AProcess)
at Alphora.Dataphor.DAE.Runtime.Instructions.PlanNode.StandardExecute(ServerProcess AProcess)
Application:104229 --->
Runtime error: Exception has been thrown by the target of an invocation.
---- Details ----
Exception occurred while executing the following code: ( .Hunt.Base.DataphorUser where true )
---- Server Context ----
at Alphora.Dataphor.DAE.Runtime.Instructions.PlanNode.StandardExecute(ServerProcess AProcess)
at Alphora.Dataphor.DAE.Server.ServerCursorBase.InternalOpen()
at Alphora.Dataphor.DAE.Server.ServerCursorBase.Open()
at Alphora.Dataphor.DAE.Server.RemoteServerExpressionPlan.Open(RemoteParamData& AParams, TimeSpan& AExecuteTime, ProcessCallInfo ACallInfo)

Setting Connection Pool Size

Hi Jon,

Here is an example of a device creation script that sets the connection pool size for an MSSQL connection:

create device Main
reconciliation { mode = { command }, master = device }
class "MSSQLDevice"
"UseIntegratedSecurity" = "true",
"ServerName" = ".",
"DatabaseName" = "Public",
"ConnectionParameters" = "Max Pool Size=400"

I'm not sure if this same parameter specifically will work for the OracleConnection, but it should given that they are both .NET connections and the connection pool size is a service of the ADO.NET layer. If it doesn't, the same idea holds, it would just be a different parameter name that the Oracle connection would recognize, it would still be set using the ConnectionParameters attribute of the device.

Bryn Rhodes
Database Consulting Group LLC