C# - Sqlconnection InfoMessage запуск только в конце выполнения
я использую
sqlConnection.InfoMessage += new SqlInfoMessageEventHandler(sqlConnection_InfoMessage);
и ExecuteNonQuery()
для выполнения хранимой процедуры.
я использую RAISERROR("Custom Message", 10 , 1) WITH NOWAIT
в хранимой процедуре, чтобы бросить сообщение.
я получаю все сообщение, брошенное sql server в конце выполнения запроса, которое я хочу во время процесса.
я мог бы получить все сообщение в режиме реального времени, установив sqlConnection.FireInfoMessageEventOnUserErrors = true;
но это приводит к ошибке с серьезностью больше 10 также обрабатываются SqlInfoMessageEventHandler
который я хочу выбросить как исключение .
есть ли способ получить мой пользовательский SQL infomessage с серьезностью 10 в режиме реального времени в eventHandler, но другой как исключение?
1 ответов
похоже, проблема в ExecuteNonQuery()
.
в моем случае я использовал ExecuteScalar()
и удалить строку
sqlConnection.FireInfoMessageEventOnUserErrors = true;
, которые вызывают RAISERROR("Custom Message", 10 , 1) WITH NOWAIT
быть пойманным eventHandler и другими в качестве исключений в режиме реального времени.