srv_parammaxlen (API-интерфейс расширенных хранимых процедур)
Важно! |
---|
В будущей версии Microsoft SQL Server эта возможность будет удалена. Не используйте ее при работе над новыми приложениями и как можно быстрее измените приложения, в которых она в настоящее время используется. Пользуйтесь вместо этого интеграцией со средой CLR. |
Возвращает наибольший размер данных параметра вызова удаленной хранимой процедуры. Эта функция заменена функцией srv_paraminfo.
Синтаксис
int srv_parammaxlen (
SRV_PROC *
srvproc
,
int
n
);
Аргументы
srvproc
Указатель на структуру SRV_PROC, представляющую собой дескриптор соединения с клиентом (в данном случае — дескриптор, который получил вызов удаленной хранимой процедуры). Эта структура содержит сведения, которые используются библиотекой API-интерфейс расширенных хранимых процедур для управления связью и передачи данных между приложением и клиентом.n
Указывает номер параметра. Первый параметр имеет значение 1.
Возвращаемое значение
Наибольшая длина данных параметра в байтах. Если отсутствует n-й параметр или удаленная хранимая процедура, то возвращается значение -1.
Если параметр принадлежит к одному из типов данных Microsoft SQL Server 2005, то эта функция возвращает следующие значения.
Новые типы данных |
Длина входных данных |
---|---|
BITN |
NULL: 1 ZERO: 1 >=255: N/A <255: N/A |
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-библиотеки перед их установкой на рабочий сервер. Сведения о проверке безопасности см. на следующем веб-узле Майкрософт. |