Выполнение хранимых процедур
Применимо: SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure azure Synapse Analytics Analytics Platform System (PDW)
При выполнении инструкций вызов хранимой процедуры в источнике данных (вместо выполнения или подготовки инструкции непосредственно в клиентском приложении) может обеспечить следующее:
высокую производительность;
низкие издержки сети;
лучшую согласованность;
большую точность;
дополнительные возможности.
Драйвер 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, указывая, что коды возврата и выходные параметры не будут возвращены, пока результирующий набор не будет обработан или освобожден.