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