powered by simpleCommunicator - 2.0.40     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Обработка ошибок в бизнес-логике приложения
8 сообщений из 8, страница 1 из 1
Обработка ошибок в бизнес-логике приложения
    #32000616
Фотография AnS1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ситуация:
бизнес-логика приложения построена на sp.
информирование клиента о попытках нарушить правила построено на использовании RaiseError по примеру:
проверка правила
если нарушено то
raiserror('Клиент нарушил правило...',16,1,1)
rollback tran
return
В полный рост применяются вложенные процедуры.
Клиент - приложение на VB с ADO 2.5

Проблемы:
1. В некоторых случаях клиент НЕ обрабатывает ошибки - в Query Anal ошибки видны. Как правило,
такое происходит, если ошибка возникает во вложенной sp.
2. На машине разработчика ошибки обрабатываются нормально, на машинах других пользователей - ошибка происходит,
транзакция откатывается, но ошибка не "отлавливается". Хотя, возможно, это зависит не от машин, а от системной
политики.

Вот так. Если кто что знает, сообщите в конференции или пишите anatolys@rambler.ru
...
Рейтинг: 0 / 0
Обработка ошибок в бизнес-логике приложения
    #32000625
Fompro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У Вас анализ в вызывающей процедуре на @@ERROR идёт?
...
Рейтинг: 0 / 0
Обработка ошибок в бизнес-логике приложения
    #32000630
Фотография AnS1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет. Бизнес-правила проверяются явно. Ссылочная целостность в данном случае не достаточно функциональна.
...
Рейтинг: 0 / 0
Обработка ошибок в бизнес-логике приложения
    #32000639
Fompro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы не могли бы выслать на мой Mail образцы вложенных пр-р (критичные участки) и скрипт их вызова и обработки?
...
Рейтинг: 0 / 0
Обработка ошибок в бизнес-логике приложения
    #32000641
Semen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Может этот и не правильно, но мы используем
raiserror('Невозможно удалить пользователя...',11,1)
и все работает. Именно 11,1.
Правда у нас Delphi через dblibrary.
...
Рейтинг: 0 / 0
Обработка ошибок в бизнес-логике приложения
    #32000650
Fompro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На последнее сообщение.
Да, конечно. Правда я сам предпочитаю 016 - Miscellaneous user error.
Если мне память не изменяет, в курсорах, использующих #table приходится использовать внесённый в sysmessages №. На клиенте у меня PowerBuider.
...
Рейтинг: 0 / 0
Обработка ошибок в бизнес-логике приложения
    #32000654
Фотография AnS1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я разобрался. Уф.
В действительности, если процедура
возвращает данные, неважно, выборки, или кол-во строк,
ADO не отлавливает ошибку.
Если поставить в процедуре первого уровня nocount on и
избавиться от явных выборок (не присвоений типа select @qwe = qwe ...)
то все становится хорошо, ошибки отлавливаюся :)
Интересно было бы узнать интерпретацию данной ситуации
- это глюк или фича :)
...
Рейтинг: 0 / 0
Обработка ошибок в бизнес-логике приложения
    #32000669
Fompro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Скорее всего, ошибка ADO. Ниже я не лез. У меня была SP с кучкой UNION, которая из под РВ выполнялась в любом случае (что с NOCOUNT, что без), но это практически чистая DB-LIBRARY. Выполнение её из тестового примера из MSDN (ADOSimple - C++) не приводипо ни к каким результатам, до тех пор не был поставлен NOCOUNT.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Обработка ошибок в бизнес-логике приложения
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]