Я создаю некоторую обработку ошибок для 'SQL/ServiceBroker/Error'
MessageType
в моих очередях Activation Stored Procedure
. Пока у меня есть информация о том, как получить доступ к следующим полям исключений:
- Код (например, номер ошибки)
- Описание (например, сообщение об ошибке)
У меня проблемы с поиском информации о том, как получить доступ к (другим) «стандартным» полям ошибок из схемы «SQL / ServiceBroker / Error», например:
DECLARE @ErrorSeverity INT;
DECLARE @ErrorState INT;
DECLARE @ErrorProcedure VARCHAR(400);
DECLARE @ErrorLine INT;
... У меня проблемы с поиском информации.
Кто-нибудь знает ...
- Где я могу получить информацию о доступе к этим полям из
Схема «SQL / ServiceBroker / Ошибка»?
ПРИМЕР:
Для тех, кому нужно посмотреть код ...
---------------
-- HANDLE ERRORS: for Error MessageTypes
---------------
ELSE IF @MessageTypeName = N'http://schemas.microsoft.com/SQL/ServiceBroker/Error'
BEGIN
-- GET ERROR: Alias Namespace
WITH XMLNAMESPACES ('http://schemas.microsoft.com/SQL/ServiceBroker/Error' AS ssb)
SELECT
@ErrorNumber = @MessageBody.value('(//ssb:Error/ssb:Code)[1]', 'INT'),
@ErrorMessage = @MessageBody.value('(//ssb:Error/ssb:Description)[1]', 'NVARCHAR(MAX)');
--@ErrorSeverity = ????,
--@ErrorState = ????,
--@ErrorProcedure = ????,
--@ErrorLine = ????;
-- CLOSE CONVERSATION
END CONVERSATION @ConversationHandle;
END