| Author |
java jdbc and oracle - maximum open cursors exceeded
|
anagha patankar
Ranch Hand
Joined: Dec 26, 2005
Posts: 53
|
|
I have some jdbc code that is retrieving data from Oracle
In my method I use a Prepared statement
However I dont close the prepared statement
To test it I ran this in a loop and sure enough I got an exception :
"ORA-01000: maximum open cursors exceeded"
My question is in case of a managed environment ( code deployed on a J2EE applications erver using connection pools ) :
what happens to the application ?
will it never be able to fire any sql to the database unless the connection is closed / recycled ( assume that there is only 1 connection in the pool )
I am assuming as connections in pool are not really closed - so the oracle session will be alive
Thanks,
anagha
|
 |
Ireneusz Kordal
Ranch Hand
Joined: Jun 21, 2008
Posts: 423
|
|
I think it depends on the pool configuration.
Most of the pools can be configured to validate if connection is erroneous by executing a validation query,
and in case of errors - the pool closes that connection and reopens a new one.
When the session is closed, oracle closes all cursors opened within this session.
Why don't you want to close statements ?
|
 |
 |
|
|
subject: java jdbc and oracle - maximum open cursors exceeded
|
|
|