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

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

Внимание

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

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

Синтаксис

  
int srv_parammaxlen (  
SRV_PROC *  
srvproc  
,  
int  
n   
);  

Аргументы

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

n
Указывает номер параметра. Первый параметр имеет значение 1.

Возвраты

Наибольшая длина данных параметра в байтах. Если отсутствует n-й параметр или удаленная хранимая процедура, то возвращается значение -1.

Эта функция возвращает следующие значения, если параметр является одним из следующих типов данных Microsoft SQL Server.

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

ZERO: 1

>=255: N/A

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

ZERO: 255

>=255: 255

<255: 255
BIGCHAR NULL: 255

ZERO: 255

>=255: 255

<255: 255
BIGBINARY NULL: 255

ZERO: 255

>=255: 255

<255: 255
BIGVARBINARY NULL: 255

ZERO: 255

>=255: 255

<255: 255
NCHAR NULL: 255

ZERO: 255

>=255: 255

<255: 255
NVARCHAR NULL: 255

ZERO: 255

>=255: 255

<255: 255
NTEXT NULL: –1

ZERO: –1

>=255: -1

<255: –1

Замечания

У каждого параметра удаленной хранимой процедуры есть максимальная и реальная длина данных. Для стандартных типов данных с фиксированной длиной, которые не поддерживают значений NULL, реальная и максимальная длина одинаковы. У типов данных переменной длины эти длины могут быть разными. Например, параметр, объявленный как varchar(30), может иметь данные длиной всего 10 байт. Фактическая длина параметра — 10, а максимальная — 30. Функция srv_parammaxlen возвращает максимальную длину данных удаленной хранимой процедуры. Чтобы получить фактическую длину параметра, используйте функцию srv_paramlen.

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

Внимание

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

См. также

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