Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.server -> OCI 8.0.x - Cancelling Queries?
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
![]() |
![]() |