BUG: ConnectionLifetime property ? (Does not work ?....)
Posted: Tue 10 Aug 2010 11:48
Hello,
I have a question about using the pooling facilities from Oracle Dotconnect, when using in Direct==False mode (using OCI call's)
We should like to have the following situation:
A number of different C# DLL's are created, and within each DLL's there is the needed logic to connect to the Oracle DB and fetch the info. Each DLL's covers a different Business and connects to DB using different userID etc...
These DLL's could be seen as a library of functionalities towards the DB itself
When developing a specific application, we alwasy have an application specific connection to the DB + should use a number of those library DLL's which do the neede stuff towards the DB.
for creating those connections in the library DLL's we have the following options
*) use pooling=False: But performance could be problem, if repetitive access to same DLL is done in the application (open - close - open ...)
*) use pooling=True
--> I tried setting "ConnectionLifetime=10" (as property in OracleConnectionStringBuilder, and toString() for getting full ConnectionString)
--> But when diagnosing via DbMonitor, I see that when connection.close(), it is returned to the pool, but the real "Disconnect" in DBMonitor happens only after around 5 MINUTES (also session on DB side is only removed after those minutes)
--> I also tried the value 420 (7 minutes), but again after 5 minutes the connection was removed from the pool !
Could it be that the 'ConnectionLifetime' property is not taken into account, or do I need some more properties to solve my problem ? (all other of OracleConnectionStringBuilder are left default)
Does anyone have some ideas, and/or example where dotConnect pooling is used and a lifetime of 1 minute or so ?
Thx
Fred
PS: I also tried using the OCI-pooling parameters, but then diagnose is only possible on DB-side
PS2: I try to connect to Oracle 10.2.0.4, with Oracle10 client, and Dotconnect version 5.70.152.0
Edited: added "Dotconnect version 5.70.152.0"
I have a question about using the pooling facilities from Oracle Dotconnect, when using in Direct==False mode (using OCI call's)
We should like to have the following situation:
A number of different C# DLL's are created, and within each DLL's there is the needed logic to connect to the Oracle DB and fetch the info. Each DLL's covers a different Business and connects to DB using different userID etc...
These DLL's could be seen as a library of functionalities towards the DB itself
When developing a specific application, we alwasy have an application specific connection to the DB + should use a number of those library DLL's which do the neede stuff towards the DB.
for creating those connections in the library DLL's we have the following options
*) use pooling=False: But performance could be problem, if repetitive access to same DLL is done in the application (open - close - open ...)
*) use pooling=True
--> I tried setting "ConnectionLifetime=10" (as property in OracleConnectionStringBuilder, and toString() for getting full ConnectionString)
--> But when diagnosing via DbMonitor, I see that when connection.close(), it is returned to the pool, but the real "Disconnect" in DBMonitor happens only after around 5 MINUTES (also session on DB side is only removed after those minutes)
--> I also tried the value 420 (7 minutes), but again after 5 minutes the connection was removed from the pool !
Could it be that the 'ConnectionLifetime' property is not taken into account, or do I need some more properties to solve my problem ? (all other of OracleConnectionStringBuilder are left default)
Does anyone have some ideas, and/or example where dotConnect pooling is used and a lifetime of 1 minute or so ?
Thx
Fred
PS: I also tried using the OCI-pooling parameters, but then diagnose is only possible on DB-side
PS2: I try to connect to Oracle 10.2.0.4, with Oracle10 client, and Dotconnect version 5.70.152.0
Edited: added "Dotconnect version 5.70.152.0"