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

Home -> Community -> Usenet -> c.d.o.misc -> Help ! Opened cursors exceed max opened cursors

Help ! Opened cursors exceed max opened cursors

From: Vincent Leung <vinceleu_at_ix.netcomc.com>
Date: 1997/12/04
Message-ID: <348703EA.AE1509E3@ix.netcomc.com>#1/1

--------------F6E3613D553B51F44375F437
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

Hi folks,

    We use Oracle as Database source to store and maintain our data and use Microsoft MFC interface to connect Oracle and fetch data. After we ran our application for about an hour or so, we can not insert or update our data to the database anymore. We trace the problem using SQLGetDiagRec which MFC provides. It showed us that opened cursors exceed max opened cursors. Here is the procedure to retrieve data .

  1. get handle using SQLAllocHandle,
  2. write a query statement
  3. call SQLPrepare to prepare the query statement
  4. call SQLExecute to execute query statm
  5. Fetch the date using SQLFetch function
  6. finally call SQLCloseCursor and SQLFreeStmt with SQL_CLOSE and SQLFreeStmt with SQL_UNBIND.

We tested the database and saw the table has new inserted data or updated data there until the cursors error appeared. I understand that the function SQLFreeStmt with SQL_CLOSE and SQL_UNBIND can help us to close cursor that has beeen opened after SQLPrepare is called. Have I misused these database interface which MFC provides?.

We will really appreciate if any one can give us any help on this. Thanks in advance.

Yan Wang
Phasemetrice, Inc.

--------------F6E3613D553B51F44375F437
Content-Type: text/html; charset=us-ascii
Content-Transfer-Encoding: 7bit

<HTML>

Hi folks,

<P>&nbsp;&nbsp;&nbsp; We use Oracle as Database source to store and maintain
our data and use Microsoft MFC interface to connect Oracle and fetch data. After we ran our application for about an hour or so,&nbsp; we can not insert or update our data to the database anymore.&nbsp; We&nbsp; trace the problem using SQLGetDiagRec which MFC provides.&nbsp; It showed us that <B>opened&nbsp; cursors exceed max opened cursors</B>.&nbsp;&nbsp; Here is the procedure to&nbsp; retrieve data .

<P><B><FONT COLOR="#000000">1. get handle using SQLAllocHandle,</FONT></B>
<BR><B><FONT COLOR="#000000">2. write a&nbsp; query statement</FONT></B>
<BR><B><FONT COLOR="#000000">3. call SQLPrepare to prepare the query statement</FONT></B>
<BR><B><FONT COLOR="#000000">4. call SQLExecute to execute query statm</FONT></B>
<BR><B><FONT COLOR="#000000">5. Fetch the date using SQLFetch function</FONT></B>
<BR><B><FONT COLOR="#000000">6. finally call SQLCloseCursor and SQLFreeStmt
with SQL_CLOSE and&nbsp;&nbsp; SQLFreeStmt with SQL_UNBIND.</FONT></B>

<P>We tested the database and saw the table has new inserted data or updated
data there&nbsp; until the cursors error appeared. I understand that the function SQLFreeStmt with SQL_CLOSE and SQL_UNBIND can&nbsp; help us to close cursor that has beeen opened after SQLPrepare is called. Have I&nbsp; misused these database interface which MFC provides?.

<P>We will really appreciate if any one can give us any help on this. Thanks
in advance.
<BR>&nbsp;

<P>Yan Wang
<BR>Phasemetrice, Inc.
<BR>&nbsp;</HTML>

--------------F6E3613D553B51F44375F437-- Received on Thu Dec 04 1997 - 00:00:00 CST

Original text of this message

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