David Keith
Member²
We have an application that opens a lot of cursors in Oracle. We are getting Alerts from Oracle that we are exceeding MAXOPENCURSORS.
I found that Oracle has a parameter called RELEASE_CURSOR and another HOLD_CURSOR. Here's an excerpt fromhttp://asktom.oracle.com/pls/asktom/f?p=100:11:0:::
11_QUESTION_ID:1041031921901:
To resolve the ORA-01000 error, you should set HOLD_CURSOR=NO and
RELEASE_CURSOR=YES. This way, after the cursors are used, Oracle will free up
the memory for other cursors.
I'm researching how best to approach our use of cursors. Since we use DOA I wonder if you could please point me to a resource that describes how DOA handles cursor management?
Do you have recommendations for how we use cursors with TOracleQuery? For example if I call Close() on a TOracleQuery, what is the process that occurs in regards to the open cursor? We're not using Stored Procs, so this really only applies to SELECT statements.
Thanks in advance for any reply.
David Keith
I found that Oracle has a parameter called RELEASE_CURSOR and another HOLD_CURSOR. Here's an excerpt fromhttp://asktom.oracle.com/pls/asktom/f?p=100:11:0:::

To resolve the ORA-01000 error, you should set HOLD_CURSOR=NO and
RELEASE_CURSOR=YES. This way, after the cursors are used, Oracle will free up
the memory for other cursors.
I'm researching how best to approach our use of cursors. Since we use DOA I wonder if you could please point me to a resource that describes how DOA handles cursor management?
Do you have recommendations for how we use cursors with TOracleQuery? For example if I call Close() on a TOracleQuery, what is the process that occurs in regards to the open cursor? We're not using Stored Procs, so this really only applies to SELECT statements.
Thanks in advance for any reply.
David Keith