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 -> Re: OCIReset() always fails

Re: OCIReset() always fails

From: Knut Stolze <stolze_at_informatik.uni-jena.de>
Date: Thu, 12 Jun 2003 12:19:15 +0200
Message-ID: <bc9k34$dmc$1@fsuj29.rz.uni-jena.de>


Dave Hau wrote on Friday 06 June 2003 21:47:

> Knut Stolze wrote:
>> Dave Hau wrote on Friday 06 June 2003 17:24:
>> 
>> 

>>>Try patching your OCI library to 8.1.7.4.
>>>
>>>In the list of bugs fixed for 8.1.7.4, I see this bug:
>>>
>>> 8174 2265777 OCIBreak() -> OCIReset() does not close the cursor (can
>>>lead to ORA-1000)
>> 
>> 
>> Thanks, I'll see if the patch can be applied and then try again.
>> 
>> 

>>>1. OCIHandleAlloc(stmthp)
>>>2. OCIStmtPrepare(stmthp)
>>>3. OCIStmtExecute(stmthp)
>>>4. OCIBreak(svchp)
>>>5. OCIReset(svchp)
>>>4. OCIHandleFree(stmthp)
>>>5. OCITransCommit()
>>>6. go back to 1.
>>>
>>>The cursor opened at 3 won't close until session is terminated.
>> 
>> 
>> Is there, by any chance, an explicit way to close the cursor before or
>> after
>> the OCIBreak()?  I hope I could use that as an interim work-around.
> 
> 
> Try calling OCIStmtFetch() with the nrows parameter set to zero.  This
> should cancel the cursor:

Well, that doesn't work either. I placed the call to OCIStmtFetch() after the OCIBreak() and before OCIReset() in other woris, between 4 and 5. Is that the correct place?

The result was that the whole thing worked only once and OCIReset() still didn't succeed. From the second run, I always got a trap (sigsegv) in OCIStmtFetch().

Unfortunately, I am not the DBA - I am just developing. So it's a bit more difficult without having the full control over the database system. :-(

-- 
Knut Stolze
Received on Thu Jun 12 2003 - 05:19:15 CDT

Original text of this message

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