I have a problem on canceling a sequence of OCILobRead() calls. They are in streaming mode, setting the amtp parameter to 0, and calling it over and over again as long as OCILobRead() returns OCI_NEED_DATA.
According to the documentation, a sequence of those calls can be aborted with OCIBreak(), but this does not work in my case. The OCIBreak call returns without error, but the next OCI operation on that connection fails with:
ORA-03127 no new operations allowed until the active operation ends.
I tried it in both blocking mode and nonblocking mode, but the resulting error is the same.