Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Re: OCIReset() always fails
Dave Hau wrote on Friday 06 June 2003 21:47:
> Knut Stolze wrote: >> Dave Hau wrote on Friday 06 June 2003 17:24: >> >>
>> >> >> Thanks, I'll see if the patch can be applied and then try again. >> >>>>>5. OCITransCommit()
>>>1. OCIHandleAlloc(stmthp)
>>>2. OCIStmtPrepare(stmthp)
>>>3. OCIStmtExecute(stmthp)
>>>4. OCIBreak(svchp)
>>>5. OCIReset(svchp)
>>>4. OCIHandleFree(stmthp)
>> >> >> 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 StolzeReceived on Thu Jun 12 2003 - 05:19:15 CDT