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 -> OCI 8.0.x - Cancelling Queries?

OCI 8.0.x - Cancelling Queries?

From: Paul Ward <pward_at_oz.quests.com>
Date: Fri, 7 May 1999 13:44:20 +1000
Message-ID: <37326075.0@news.access.net.au>


Is it, as appears to be the case, impossible to cancel OCI queries when using an 8.0.x client in non-blocking mode? I have performed some experiments using OCI7 and OCI8 calls, and it seems that it is not possibble. The 8.1.5 documentation includes a new call OCIReset() which must be used after the OCIBreak() call - was this a work-around by Oracle to fix the broken OCIBreak() call in 8.0.x clients?

What I have found with the OCI8 calls is that issuing the OCIBreak() results in the subsequent OCIStmtExecute() call to return OCI_SUCCESS (as if the procedure being exececuted was completed) rather than OCI_STILL_EXECUTING (as returned prior to issuing OCI_BREAK). The documentation however states that an error code of 1013 should be returned.

Subsequent attempts to re-use the query indicate that the query is still executing, and the connection becomes unstable.

Using OCI7 calls, the break simply does not occur. It appears that the obreak() call does not return until the procedure has completed!

Does anyone know if there is a reliable method of cancelling queries using OCI and an 8.0.x client? Any help (or conformation that it is not possible) would be appreciated

Paul Received on Thu May 06 1999 - 22:44:20 CDT

Original text of this message

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