![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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? видимо, еще ничего не нарушилось ДО вставки, потому и не срабатывает