Выполнение хранимых процедур (OLE DB)
При выполнении инструкций вызов хранимой процедуры в источнике данных (вместо выполнения или подготовки инструкции непосредственно в клиентском приложении) может обеспечить следующее:
высокую производительность;
низкие издержки сети;
лучшую согласованность;
большую точность;
дополнительные возможности.
Поставщик OLE DB для собственного клиента SQL Server поддерживает три следующих механизма, используемых хранимыми процедурами SQL Server для возвращения данных.
Каждая инструкция SELECT в хранимой процедуре формирует результирующий набор.
Процедура может возвращать данные через выходные параметры.
Процедура может иметь целочисленный код возврата.
Приложение должно быть способно обработать все эти данные, возвращаемые хранимыми процедурами.
Разные поставщики OLE DB возвращают выходные параметры и значения на разных этапах во время обработки результатов. В случае с поставщиком OLE DB для собственного клиента SQL Server выходные параметры и коды возврата недоступны, пока потребитель не получил результирующий набор или не отменил получение результирующего набора, возвращаемого хранимой процедурой. Коды возврата и выходные параметры возвращаются сервером в последнем пакете потока табличных данных.
Поставщики используют свойство DBPROP_OUTPUTPARAMETERAVAILABILITY для сообщения о возвращении выходных параметров и возвращаемых значений. Это свойство доступно в наборе свойств DBPROPSET_DATASOURCEINFO.
Поставщик OLE DB для собственного клиента SQL Server присваивает свойству DBPROP_OUTPUTPARAMETERAVAILABILITY значение DBPROPVAL_OA_ATROWRELEASE, указывая, что коды возврата и выходные параметры не будут возвращены, пока результирующий набор не будет обработан или освобожден.