Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Constraint, Transaction, Exception [D6, IB6.x]


Drowsy ©   (2008-09-04 14:25:00) 

Можно на сервере в тригере BIO перехватывать внутренние исключения, вызываемые Constraint-ами или нарушениями ссылочной целостности (чтобы эаменить созданными с понятной диагностикой)?
Почему не работает, например :

/* Trigger: LOT_AI0 */
CREATE TRIGGER LOT_AI0 FOR LOUT
ACTIVE BEFORE INSERT POSITION 0
AS
begin
if( gdscode = 335544558) then exception my_exception  ;
when any do exception my_exception  ;
end
^


Drowsy   (2008-09-04 16:11:00) [1]

Ага, вроде понял. Попробую чичас.
Спасибо, Правильный$Вася!


Правильный$Вася   (2008-09-04 16:00:00) [2]

это значит, что если тебе нужно делатьмного операций с данными в рамках транзакции, то засунь все эти операции в ХП и вызывай ее, а диагностику уже в ней можешь делать и сразу же реагировать корректно в ней же - или подымать исключение в программу, или исправлять что-то на лету (в секции when) с повторной попыткой


Drowsy   (2008-09-04 15:58:00) [3]

Что значит "транзакцию в ХП"?


Правильный$Вася   (2008-09-04 15:53:00) [4]

диагностика на уровне таблиц яйца выеденного не стоит
имеет смысл диагностика на уровне транзакций
тогда оберни транзакцию в ХП, а там поставь обработчики в begin-when-end


Drowsy   (2008-09-04 15:38:00) [5]

чтобы эаменить своими, с понятной пользователю, диагностикой


Правильный$Вася   (2008-09-04 15:35:00) [6]


>  где и как на сервере перехватывать исключения,  вызываемые
> Constraint-ами

с какой целью?


Drowsy   (2008-09-04 15:31:00) [7]

Нет там ничего...
Люди - человеки, где и как на сервере перехватывать исключения,  вызываемые Constraint-ами ? Может примеры или толковые ссылки есть?


Johnmen   (2008-09-04 15:04:00) [8]


> Drowsy   (04.09.08 14:51) [4]

Там есть поиск.
Ключевые слова сообщения об ошибках русскийнапример...


Drowsy   (2008-09-04 14:51:00) [9]

Johnmen, я там смотрел, не нашёл такого раздела.
Плиз, если можешь, укажи точнее, где!!!


Johnmen   (2008-09-04 14:41:00) [10]

А у тебя и нет исключений в триггерах - перехватывать нечего.
На тему русификации сообщений сервера читай http://www.ibase.ru


Drowsy   (2008-09-04 14:36:00) [11]

Попробовал AFTER.
Всё равно не перехватывает стандартные исключения. :(


Виталий Панасенко(дом)   (2008-09-04 14:29:00) [12]

а не пробовал AFTER? видимо, еще ничего не нарушилось ДО вставки, потому и не срабатывает


Наверх

Титульная страница Поиск, карта сайта Написать письмо