Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.misc -> OIP-04153: Non-blocking operation in progress

OIP-04153: Non-blocking operation in progress

From: Lloyd Sheen <sqlguy_at_hotmail.com>
Date: Fri, 02 Aug 2002 01:55:40 GMT
Message-ID: <wEl29.3014$wh1.2261@news01.bloor.is.net.cable.rogers.com>


I am having a hard time to get async commands to work (properly) using Oracle Objects for OLE. I am submitting a sample of an attempt to issue two command in a row. The first command is executed and the loop indicates that poSQLStmt.NonBlockingState is called 3 times before it returns 0
(ORASQL_SUCCESS).
I then issue another command (actually the same one) and one the second oraDB.CreateSql(psSQL, ORASQL_NONBLK) command I receive a runtime
(OIP-04153: Non-blocking operation in progress) error. err.Number = 440.

Is it not possible to issue a set of commands on a single connection one after another. The code shown is just a sample. The reason for doing this is to allow the user to issue other commands on other connections and have the application deal with checking when required, thus allowing the application to do more than one thing at a time.

Sample Code:

  Dim oraSess As OraSessionClass
  Dim cnt As Long
  Dim stat As Long
  Dim oraDB As OraDatabase
  Dim poSQLStmt As OraSqlStmt
  Dim psSQL As String

  Set oraSess = CreateObject("OracleInProcServer.XOraSession")   Set oraDB = oraSess.OpenDatabase("orcl", "demo_debug/demo_debug", 0)

  psSQL = "update actions set status = status;"   Set poSQLStmt = oraDB.CreateSql(psSQL, ORASQL_NONBLK)

  stat = poSQLStmt.NonBlockingState
  While stat = ORASQL_STILL_EXECUTING
    cnt = cnt + 1
    Debug.Print cnt
    stat = poSQLStmt.NonBlockingState
  Wend

  Set poSQLStmt = oraDB.CreateSql(psSQL, ORASQL_NONBLK)

  stat = poSQLStmt.NonBlockingState
  While stat = ORASQL_STILL_EXECUTING
    cnt = cnt + 1
    Debug.Print cnt
    stat = poSQLStmt.NonBlockingState
  Wend

  MsgBox "Async Count = " & Format(cnt) & " RecordCount = " & Format(poSQLStmt.RecordCount)

  oraDB.Close
  Set oraSess = Nothing Received on Thu Aug 01 2002 - 20:55:40 CDT

Original text of this message

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