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