У меня есть прокрученный Proc, который при вызове с определенным набором параметров возвращает следующие сообщения -
Msg 4104, Level 16, State 1, Line 1
The multi-part identifier "abc" could not be bound.
Msg 4104, Level 16, State 1, Line 1
The multi-part identifier "pqr" could not be bound.
Msg 4104, Level 16, State 1, Line 1
The multi-part identifier "xyz" could not be bound.
Msg 207, Level 16, State 1, Line 1
Invalid column name 'Name'.
Msg 50000, Level 16, State 1, Procedure ErrorHandlerProc, Line 218
Error Processing Request [ApplicationError]
Меня интересует последняя строка ошибки, поскольку она должна быть показана пользователю
Error Processing Request [ApplicationError]
Однако, когда я определяю SqlExceltion, свойство сообщения содержит только первую строку, т.е.
The multi-part identifier "abc" could not be bound.
Как получить полную ошибку и показать ее пользователю.
Обратите внимание, что я не могу изменить сохраненный процесс.
Обновление
Коллекция SqlException.Errors
содержит только одну запись, которая является первой строкой, возвращаемой sp. InnerException
имеет значение null, а другие свойства, такие как Data
или StackTrace
, не возвращают необходимую информацию.