Поделиться через


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