Member 11670657 Ответов: 2

Как получить ошибки SQL runtime ?


Привет всем друзьям,
У меня есть прецедент SQL store под названием MakeLogging для регистрации ошибок.
Я использую попробовать поймать в моем сценарии и в том, что поймать я назвал MakeLogging СП, как показано ниже.
Но это дает мне ошибку, пожалуйста, помогите мне решить эту проблему.
DECLARE	@return_value int
		EXEC	@return_value = [dbo].[MakeLogging]
				@LogTypeId = 5,
				@Description = 'Error: at SaveArticle SP',
				@UserId = @UserId,
				@ErrorNumber = ERROR_NUMBER,
				@ErrorServerity = ERROR_SEVERITY,
				@ErrorState = ERROR_STATE,
				@ErrorProcedure = ERROR_PROCEDURE,
				@ErrorLine = ERROR_LINE,
				@ErrorMessage = ERROR_MESSAGE,
				@Status = 1

		RETURN @return_value


Что я уже пробовал:

Я много пробовал и ничего не мог сделать. пожалуйста, помогите мне.

Suvendu Shekhar Giri

В чем же ошибка?
Покажите нам, что вы написали в своем магазине, и мы постараемся вам помочь.

Member 11670657

Спасибо Сувенду,
Я думаю, что ошибка - это @ErrorNumber = ERROR_NUMBER.
Когда я использую @ErrorNumber = NULL,
это прекрасно работает. Но мне нужен номер ошибки и другие детали. Как я могу назначить их переменным MakeLogging sp?

Suvendu Shekhar Giri

Ну, ERROR_NUMBER-это функция.
Пример-

SELECT ERROR_NUMBER()

Member 11670657

но почему я не могу использовать as @ErrorNumber = select ERROR_NUMBER(),

2 Ответов

Рейтинг:
0

Wendelius

Если я правильно понимаю ситуацию, вам нужно поймать ошибку и поместить информацию из этой ошибки в переменные, которые вы затем снова передадите процедуре (или используете значения напрямую).

Например, теперь вы пытаетесь передать error_number процедуре, но это не переменная или функция. Попробуйте, например, вместо этого использовать ERROR_NUMBER (). Иначе говоря,

...
@UserId = @UserId,
@ErrorNumber = ERROR_NUMBER(),
...


Рейтинг:
0

#realJSOP

Почему у вас нет запроса, который вызвал ошибку, вместо того чтобы заставить приложение сделать это?


Member 11670657

Я хочу вставить их в БД