Как запускать сообщения об ошибках базы данных SQL Server / таблицы из VB.net

#sql-server #vb.net

#sql-server #vb.net

Вопрос:

Я хочу запускать сообщения об ошибках SQL Server при выполнении хранимой процедуры.

Пример

Сообщение 547, уровень 16, состояние 0, строка 1
Оператор DELETE конфликтовал со ссылочным ограничением «FK_TableX_$RateCard_Box». Конфликт произошел в базе данных «TestDB», таблица «dbo.TableX».

Я хочу знать, запускается ли эта ошибка в процедуре, как я могу отправить пользователю значимое сообщение.

Я выполняю хранимую процедуру SQL Server из VB.net .

Комментарии:

1. вы можете использовать try и catch в своей хранимой процедуре и можете вызвать пользовательскую ошибку / сообщение в соответствии с вашими требованиями learn.microsoft.com/en-us/sql/t-sql/language-elements /…

2. Мукеш Арора — Большое вам спасибо.

Ответ №1:

Можно использовать TRY CATCH инструкции и выбрасывать Message , Severity и State в CATCH инструкции:

 BEGIN TRY
    -- Your code here...            
END TRY   

BEGIN CATCH             
    DECLARE @Message varchar(MAX) = ERROR_MESSAGE(),
        @Severity int = ERROR_SEVERITY(),
        @State smallint = ERROR_STATE()

    RAISERROR(@Message, @Severity, @State)
END CATCH