Вниз
Скачать: CL | DM;

Constraint, Transaction, Exception   Найти похожие ветки 

 
Drowsy   (2008-09-04 14:25) [0]

Можно на сервере в тригере 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
^


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

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


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

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


 
Johnmen ©   (2008-09-04 14:41) [3]

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


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

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


 
Johnmen ©   (2008-09-04 15:04) [5]


> Drowsy   (04.09.08 14:51) [4]

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


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

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


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


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

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


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

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


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

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


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

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


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

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


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

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



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.006 c
15-1236461409
Юрий
2009-03-08 00:30
2009.05.10
С днем рождения ! 8 марта 2009 воскресенье


10-1153747700
Calibr2
2006-07-24 17:28
2009.05.10
Как связать OleVariant с CorelDRAW?


6-1202988792
РВА
2008-02-14 14:33
2009.05.10
Сеть по електропроводке


2-1238068062
NieL
2009-03-26 14:47
2009.05.10
dateDelimiter, timedelimiter


2-1238489662
Лёша
2009-03-31 12:54
2009.05.10
SQL. Как вывести список дат по диапазону?




   Наверх