Поделиться через


Хранимые процедуры— выполнение в собственном клиенте SQL Server

Применимо: SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure azure Synapse Analytics Analytics Platform System (PDW)

Внимание

Собственный клиент SQL Server (часто сокращенный SNAC) был удален из SQL Server 2022 (16.x) и SQL Server Management Studio 19 (SSMS). Поставщик OLE DB собственного клиента SQL Server (SQLNCLI или SQLNCLI11) и устаревший поставщик Microsoft OLE DB для SQL Server (SQLOLEDB) не рекомендуется для новой разработки. Перейдите на новый драйвер Microsoft OLE DB (MSOLEDBSQL) для SQL Server .

При выполнении инструкций вызов хранимой процедуры в источнике данных (вместо выполнения или подготовки инструкции непосредственно в клиентском приложении) может обеспечить следующее:

  • высокую производительность;

  • низкие издержки сети;

  • лучшую согласованность;

  • большую точность;

  • дополнительные возможности.

Поставщик 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, чтобы указать, что коды возврата и выходные параметры не возвращаются, пока результирующий набор не будет обработан или освобожден.

См. также

Хранимые процедуры