Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.server -> Context - max cursors exceeded
Hi,
I'm just trying out Oracle Context to see if it will work for our
requirements. The Oracle version is 7.3.2 running on Solaris 2.5.
I am trying to write a batch program using Pro*C which opens a cursor on one table and reads a string from each record. For each record found it opens another cursor which uses the 'contains' context clause to read the primary key of all records in the text table which match the filter string read from the first table.
It goes something like:
declare first cursor as select filter from firsttable; declare second as select pk from texttable where contains(textcol,:filter,1)>0;
open first;
fetch first into :filter;
while (sqlca.sqlcode==SQL_SUCCESS)
{
fetch first into :filter;
open second;
fetch second into :pk;
while (sqlca.sqlcode==SQL_SUCCESS)
{ read from texttable using PK to get required data and write to file; fetch second into :pk; }
After about 130 iterations of the outer loop my context server falls over. The log file shows it to have exceeded the maximum cursor level. I usually also get an error 604 when opening the second cursor in my Proc*C program.
A possibly linked issue is that I get an Oracle 600 error when exitting from SQLPLUS if I have enabled text mode and executed at least one text query.
Can anyone offer any help?
Many thanks,
Graham Potts
Received on Tue Apr 07 1998 - 00:00:00 CDT
![]() |
![]() |