srv_sendmsg (API-интерфейс расширенных хранимых процедур)
Важно! |
---|
В будущей версии Microsoft SQL Server эта возможность будет удалена. Не используйте ее при работе над новыми приложениями и как можно быстрее измените приложения, в которых она в настоящее время используется. Пользуйтесь вместо этого интеграцией со средой CLR. |
Отправляет клиенту сообщение.
Синтаксис
int srv_sendmsg (
SRV_PROC *
srvproc
,
int
msgtype
,
DBINT
msgnum
,
DBTINYINT
class
,
DBTINYINT
state
,
DBCHAR *
rpcname
,
int
rpcnamelen
,
DBUSMALLINT
linenum
,
DBCHAR *
message
,
int
msglen
);
Arguments
srvproc
Указатель на структуру SRV_PROC, который представляет собой дескриптор соединения с клиентом (в данном случае — дескриптор, который получил запрос языка). Структура содержит сведения, которые используются библиотекой API-интерфейса расширенных хранимых процедур для управления связью и передачи данных между приложением и клиентом.msgtype
Является либо SRV_MSG_INFO, либо SRV_MSG_ERROR, в зависимости от того, отправляет сервер информационное сообщение или сообщение об ошибке.msgnum
4-байтовый номер сообщения.class
Указывает серьезность ошибки. Серьезность, меньше или равная 10, считается информационным сообщением.state
Предоставляет код состояния ошибки для текущего сообщения. Код состояния ошибки предоставляет информацию о контексте ошибки. Допустимые значения кода состояния - от 0 до 255.rpcname
Не поддерживается в текущей версии.rpcnamelen
Не поддерживается в текущей версии.linenum
Представляет собой номер строки в пакете языковых команд, к которому относится сообщение. Номера строк начинаются с 1. Если linenum не относится к сообщению, устанавливается в значение 0.message
Является указателем на символьную строку, которая должна быть отправлена клиенту.msglen
Задает длину сообщения message в байтах. Если сообщение message заканчивается символом null, задайте для параметра msglen значение SRV_NULLTERM.
Возвращаемое значение
SUCCEED или FAIL
Замечания
Эта функция отправляет клиенту сообщение об ошибке или информационное сообщение. Она вызывается один раз для каждой отправки сообщения.
Можно отправлять сообщения клиенту при помощи функции srv_sendmsg в любой последовательности перед или после того, как были отправлены все строки (если таковые были) при помощи функции srv_sendrow. Все сообщения, если таковые имеются, должны быть отправлены клиенту перед тем, как функция srv_senddone отправит состояние завершения.
Для отправки сообщений в Юникоде лучше использовать функцию srv_wsendmsg, чем функцию srv_sendmsg.
Дополнительные сведения см. в разделе Данные в Юникоде и кодовые страницы сервера.
Примечание по безопасности |
---|
Необходимо тщательно просмотреть исходный код расширенных хранимых процедур и проверить скомпилированные DLL-библиотеки перед их установкой на рабочий сервер. Сведения о проверке безопасности см. на следующем веб-узле Майкрософт. |