Skip Headers

Oracle® Objects for OLE Developer's Guide
10g Release 1 (10.1)

Part Number B10118-01
Go to Documentation Home
Home
Go to Book List
Book List
Go to Table of Contents
Contents
Go to Master Index
Master Index
Go to Feedback page
Feedback

Executing Multiple Queries in Asynchronous Mode

Multiple queries can be executed in asynchronous mode. In this example, the second connection executes a SQL statement in blocking mode while the first is executing a non-blocking call.

Dim OraSess as OraSession

Dim OraServ as OraServer

Dim OraDb1 as OraDatabase

Dim OraDb2 as OraDatabase

Dim OraStmtnonblk as OraSQLStmt

Dim OraStmtblk as OraSQLStmt

Dim stat as long

set OraSess = CreateObject("OracleInProcServer.XOraSession")

set OraDb1 = OraSess.OpenDatabase("exampledb","scott/tiger",0&)

Set OraServ = CreateObject("OracleInProcServer.XOraServer")

OraServ.Open("exampledb")

set OraDb2 = OraServ.OpenDatabase(scott/tiger",0&)

'execute the select statement with NONBLOCKING mode on

set OraStmtnonblk = OraDb1.CreateSQL ("update emp set sal = sal + 1000", ORASQL_NONBLK)

'Check if the call has completed

stat = OraStmtnonblk.NonBlockingState

while stat = ORASQL_STILL_EXECUTING

MsgBox "Asynchronous Operation under progress"

stat = OraStmtnonblk.NonBlockingState

wend

MsgBox "Asynchronous Operation completed successfully"

'execute on the second connection in BLOCKING mode

set OraStmtblk = OraDb2.CreateSQL ("update emp set sal = sal + 500",0&)