-
Можно на сервере в тригере 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 ^
-
а не пробовал AFTER? видимо, еще ничего не нарушилось ДО вставки, потому и не срабатывает
-
Попробовал AFTER. Всё равно не перехватывает стандартные исключения. :(
-
А у тебя и нет исключений в триггерах - перехватывать нечего. На тему русификации сообщений сервера читай http://www.ibase.ru
-
Johnmen, я там смотрел, не нашёл такого раздела. Плиз, если можешь, укажи точнее, где!!!
-
> Drowsy (04.09.08 14:51) [4]
Там есть поиск. Ключевые слова сообщения об ошибках русский например...
-
Нет там ничего... Люди - человеки, где и как на сервере перехватывать исключения, вызываемые Constraint-ами ? Может примеры или толковые ссылки есть?
-
> где и как на сервере перехватывать исключения, вызываемые > Constraint-ами
с какой целью?
-
чтобы эаменить своими, с понятной пользователю, диагностикой
-
диагностика на уровне таблиц яйца выеденного не стоит имеет смысл диагностика на уровне транзакций тогда оберни транзакцию в ХП, а там поставь обработчики в begin-when-end
-
Что значит "транзакцию в ХП"?
-
это значит, что если тебе нужно делатьмного операций с данными в рамках транзакции, то засунь все эти операции в ХП и вызывай ее, а диагностику уже в ней можешь делать и сразу же реагировать корректно в ней же - или подымать исключение в программу, или исправлять что-то на лету (в секции when) с повторной попыткой
-
Ага, вроде понял. Попробую чичас. Спасибо, Правильный$Вася!
|