Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Context - max cursors exceeded

Context - max cursors exceeded

From: Graham Potts <graham_at_pncl.co.uk>
Date: 1998/04/07
Message-ID: <6ge7bu$jsq$1@flex.news.pipex.net>#1/1

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;
        }

    close second;
    fetch first into :filter;
    }
close first;

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

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US