srv_paramdata (API-интерфейс расширенных хранимых процедур)
![]() |
---|
В будущей версии Microsoft 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: N/A |
BIGVARCHAR |
NULL: NULL, Н/Д ZERO: VP, NULL >=255: VP, 255 символов <255: VP, фактические данные |
BIGCHAR |
NULL: NULL, Н/Д ZERO: VP, 255 пробелов >=255: VP, 255 символов <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 символов <255: VP, фактические данные + заполнение (до 255) |
NVARCHAR |
NULL: NULL, Н/Д ZERO: VP, NULL >=255: VP, 255 символов <255: VP, фактические данные |
NTEXT |
NULL: Н/Д ZERO: Н/Д >=255: N/A <255: N/A |
* данные не завершаются нулевым значением; при отсечении данных, превышающих >255 символов предупреждения не выдается.
Замечания
Если известно имя параметра, что при помощи метода srv_paramnumber можно возвратить его номер. Используйте метод srv_paramlen, чтобы определить имеет ли параметр значение NULL.
Когда удаленная хранимая процедура вызывается с параметрами, то эти параметры могут быть переданы либо по имени, либо по позиции — без указания имени). Если при вызове удаленной хранимой процедуры часть параметров передается по имени, а часть — по позиции, возникает ошибка. В случае возникновения любой ошибки обработчик SRV_RPC по-прежнему вызывается, однако он отображается так, как если бы он не имел параметров, а функция srv_rpcparams возвращает 0.
![]() |
---|
Необходимо тщательно просмотреть исходный код расширенных хранимых процедур и проверить скомпилированные DLL-библиотеки перед их установкой на рабочий сервер. Сведения о проверке безопасности см. на следующем веб-узле Майкрософт. |