Как вызывать хранимые процедуры (ODBC)
Когда инструкция SQL вызывает хранимую процедуру при помощи предложения ESCAPE ODBC CALL, драйвер Microsoft® SQL Server™ отправляет процедуру на SQL Server при помощи механизма удаленного вызова хранимой процедуры. Запросы RPC пропускают большую часть синтаксической проверки и обработки параметров инструкции в SQL Server; они быстрее, чем инструкция Transact-SQL EXECUTE.
Описание образца приложения, который демонстрирует эту функцию, см. в разделе processing return codes and output parameters на сайте CodePlex; дополнительные сведения см. в разделе Образцы компонента SQL Server Database Engine.
Выполнение процедуры с помощью RPC
Сконструируйте инструкцию SQL, использующую escape-последовательность ODBC CALL. В этой инструкции для каждого входного, входного-выходного и выходного параметров, а также для возвращаемого процедурой значения (при его наличии) используются маркеры параметров.
{? = CALL procname (?,?)}
Вызывайте SQLBindParameter каждого входного, входного-выходного и выходного параметров, а также для возвращаемого процедурой значения (при его наличии).
Выполните инструкцию с SQLExecDirect.
![]() |
---|
Если приложение отправляет процедуру при помощи синтаксиса Transact-SQL EXECUTE (в отличие от escape-последовательности ODBC CALL), драйвер SQL Server ODBC передает этот вызов процедуры SQL Server в виде инструкции SQL, а не RPC. Кроме того, при использовании инструкции Transact-SQL EXECUTE выходные параметры не возвращаются. |
См. также