RAISEERROR

Обсуждение возникших проблем, предложений и ошибок SDAC компонентов
Ответить
WildFrag
Сообщения: 22
Зарегистрирован: Пн 29 апр 2013 11:41

RAISEERROR

Сообщение WildFrag » Пт 02 ноя 2018 20:42

Подскажите пожалуйста, в хранимке возникает ошибка, SSMS ловит ошибку типа

Msg 50000, Level 16, State 1, Procedure TestMessages, Line 20 [Batch Start Line 0]
Реальная ошибка

В дельфи я ловлю только сообщение "Реальная ошибка"
Как я могу поймать текст детализирующий место возникновения ошибки?

AndreyZ
Devart Team
Сообщения: 328
Зарегистрирован: Чт 08 сен 2011 13:18

Re: RAISEERROR

Сообщение AndreyZ » Пт 09 ноя 2018 13:55

WildFrag писал(а):
Пт 02 ноя 2018 20:42
Msg 50000, Level 16, State 1, Procedure TestMessages, Line 20 [Batch Start Line 0]
Этот текст генерирует парсер SSMS, а не SQL Server.

WildFrag писал(а):
Пт 02 ноя 2018 20:42
Реальная ошибка
Поэтому в UniDAC приходит только эта ошибка от SQL Server. И мы не можем повлиять на это поведение.

Однако, вы можете добавить RAISERROR с детальной информацией в TRY...CATCH хранимой процедуры. Например:

Код: Выделить всё

RAISERROR (15600,-1,-1, 'Реальная ошибка. Контрольная точка 42. ....');  
Более подробно на MSDN о RAISERROR: https://docs.microsoft.com/en-us/sql/t- ... rver-2017 и TRY...CATCH: https://docs.microsoft.com/en-us/sql/t- ... erver-2017

Ответить