Ejecutar procedimientos almacenados (OLE DB)
Cuando se ejecutan instrucciones, llamar a un procedimiento almacenado en el origen de datos (en lugar de ejecutar o preparar directamente una instrucción en la aplicación cliente) puede proporcionar lo siguiente:
Rendimiento más alto
Sobrecarga de red reducida
Mejor coherencia
Mayor exactitud
Funcionalidad agregada
El proveedor OLE DB de SQL Server Native Client admite tres de los mecanismos que los procedimientos almacenados de SQL Server usan para devolver datos:
Cada instrucción SELECT del procedimiento genera un conjunto de resultados.
El procedimiento puede devolver datos mediante parámetros de salida.
El procedimiento puede tener un código de retorno de tipo entero.
La aplicación debe ser capaz de manejar todos estos resultados de los procedimientos almacenados.
Diferentes proveedores OLE DB devuelven parámetros de salida y valores devueltos en diferentes momentos durante el procesamiento de los resultados. En el caso del proveedor OLE DB de SQL Server Native Client, los parámetros de salida y los códigos de retorno no se proporcionan hasta después de que el consumidor haya recuperado o cancelado los conjuntos de resultados devueltos por el procedimiento almacenado. Los códigos de retorno y los parámetros de salida se devuelven en el último paquete TDS del servidor.
Los proveedores usan la propiedad DBPROP_OUTPUTPARAMETERAVAILABILITY para notificar cuando devuelve parámetros de salida y valores de retorno. Esta propiedad se encuentra en el conjunto de propiedades DBPROPSET_DATASOURCEINFO.
El proveedor OLE DB de SQL Server Native Client establece la propiedad DBPROP_OUTPUTPARAMETERAVAILABILITY en DBPROPVAL_OA_ATROWRELEASE para indicar que no se devuelven los códigos de retorno y los parámetros de salida hasta que no se procese o lance al mercado el conjunto de resultados.