Asincronismo en ADO

El termino asincronismo en ADO se refiere a la capacidad de poder ejecutar consultas en las cuales el servidor de bases de datos recibe una peticion de un cliente el cual queda en espera hasta la respuesta por parte del servidor. Como ejemplo puedo citar una consulta SQL a una tabla maestra de clientes con 2.000.000 de registros.

 

Desde Vb hariamos algo parecido a esto :

 

MyRecordset.Open Sql,Conexion,adOpenForwardOnly,adLockReadOnly,adCmdText

 

Si el servidor se encuentra demasiado ocupado (procesando impresiones, procesos en batch, etc) , nuestra aplicacion se quedaria esperando por la respuesta desde el servidor hasta que este procese nuestra peticion. (este seria un proceso sincronico)

 

ADO tiene la capacidad de poder ejecutar asincronismo para la ejecucion de consultas SQl a un servidor de datos. Nota : la capacidad de asincronismo tambien depende de las propiedades del "Provider". 

 

Ahora esta misma consulta pero con "asincronismo"

 

MyRecordset.Open Sql,Conexion,adOpenForwardOnly,adLockReadOnly,adAsyncExecute

 

'quedar esperando hasta que el servidor finalize el procesamiento de datos

Do While MyRecordset.State = adStateExecuting

    DoEvents

Loop