srv_paramdata (API-интерфейс расширенных хранимых процедур)

Применимо к:SQL Server

Внимание

Эта функция будет удалена в будущей версии SQL Server. Избегайте использования этого компонента в новых разработках и запланируйте изменение существующих приложений, в которых он применяется. Пользуйтесь вместо этого интеграцией со средой CLR.

Возвращает значение параметра вызова удаленной хранимой процедуры. Эта функция заменена функцией srv_paraminfo.

Синтаксис

  
void * srv_paramdata (  
SRV_PROC *  
srvproc  
,  
int  
n   
);  

Аргументы

srvproc
Указатель на структуру SRV_PROC, представляющую собой дескриптор соединения с клиентом (в данном случае — дескриптор, который получил вызов удаленной хранимой процедуры). Эта структура содержит сведения, которые используются библиотекой расширенных хранимых процедур для управления связью и передачи данных между приложением и клиентом.

n
Номер параметра. Первый параметр имеет номер 1.

Возвраты

Указатель на значение параметра. Если параметр с номером n имеет значение NULL, или если параметра с номером n или удаленной хранимой процедуры не существует, то возвращается значение NULL. Если значением параметра является строка, она не может завершаться нулевым байтом. Используйте функцию srv_paramlen, чтобы определить длину строки.

Эта функция возвращает следующие значения, если параметр является одним из типов данных Microsoft SQL Server. В данных указателя показано, является ли этот указатель допустимым для типа данных (VP), NULL или не применимым (N/A), а также содержимое тех данных, на которые он указывает.

Новые типы данных Длина входных данных
BITN NULL: VP, NULL

ZERO: VP, NULL

>=255: N/A

<255: недоступно
BIGVARCHAR NULL: NULL, недоступно

ZERO: VP, NULL

>=255: VP, 255 chars

<255: VP, фактические данные
BIGCHAR NULL: NULL, недоступно

ZERO: VP, 255 пробелов

>=255: VP, 255 chars

<255: VP, фактические данные и заполнение (до 255)
BIGBINARY NULL: NULL, недоступно

ZERO: VP, 255 0x00

>=255: VP, 255 байт

<255: VP, фактические данные и заполнение (до 255)
BIGVARBINARY NULL: NULL, недоступно

ZERO: VP, 0x00

>=255: VP, 255 байт

<255: VP, фактические данные
NCHAR NULL: NULL, недоступно

ZERO: VP, 255 пробелов

>=255: VP, 255 chars

<255: VP, фактические данные и заполнение (до 255)
NVARCHAR NULL: NULL, недоступно

ZERO: VP, NULL

>=255: VP, 255 chars

<255: VP, фактические данные
NTEXT NULL: недоступно

ZERO: недоступно

>=255: N/A

<255: недоступно

* данные не завершаются значением NULL; Предупреждение не выводится при усечении для данных >255 символов.

Замечания

Если известно имя параметра, то с помощью функции srv_paramnumber можно возвратить его номер. Используйте функцию srv_paramlen, чтобы определить, имеет ли параметр значение NULL.

Когда удаленная хранимая процедура вызывается с параметрами, то эти параметры могут быть переданы либо по имени, либо по позиции (без указания имени). Если при вызове удаленной хранимой процедуры часть параметров передается по имени, а часть — по позиции, возникает ошибка. Обработчик SRV_RPC вызывается и при возникновении ошибки, однако он действует так, как будто параметры не были переданы, и функция srv_rpcparams возвращает значение 0.

Внимание

Необходимо тщательно просмотреть исходный код расширенных хранимых процедур и проверить скомпилированные библиотеки DLL перед их установкой на рабочий сервер. Сведения о проверке безопасности см. на следующем веб-сайте Майкрософт.

См. также

srv_rpcparams (API-интерфейс расширенных хранимых процедур)