Текущий архив: 2003.09.11;
Скачать: CL | DM;
Вниз
Interbase : как удалить триггер который не создавал ? Найти похожие ветки
← →
Виталя (2003-08-20 15:18) [0]Вообще это скорее вопрос по Interbase, чем по Delphi, но если кто сталкивался может поможете ?
Пишу базу данных на Interbase 5 используя для этого IBExpert
Я создала табличку - 6 полей,из которых одно - автоинкрементный ключ, который вместе с еще одним
"завязано" в тригерах другой таблицы, чтобы при любых ее изменениях второе поля записи с соотв.
ключом пересчитывалось. В общем ничего сложного, но когда я решила поменять имя одного из полей
(ни от чего ни зависевшего) было выдано сообщение о том, что есть тригер с названием ount от которого зависит это самое поле.
Просмотрев от чего зависит таблица я действительно обнаружила этот триггер который зависит от всех 6-ти полей моей таблицы,
но при попытке открыть его выдается сообщение что его не существует. Соответственно и удалить его не возможно.
Всвязи с этим возникает 2 вопроса:
1. Почему появился этот триггер ?
2. Как его уничтожить ?
← →
Digitman (2003-08-20 15:23) [1]чудеса да и только !)
сомневаюсь что-то в "изобретательности" ядра IB на предмет "своевольного" создания именно такого идентификатора - ount.
не средствами ли IBExpert ты "верстал" базу ?
← →
Desdechado (2003-08-20 15:24) [2]> Я создала табличку - 6 полей,из которых одно - автоинкрементный ключ, который вместе с еще одним
"завязано" в тригерах другой таблицы, чтобы при любых ее изменениях второе поля записи с соотв.
ключом пересчитывалось.
вот это не понял - как ключ одной таблицы зависит от пересчета второй?
← →
Виталя (2003-08-20 15:28) [3]чтобы при любых ее изменениях второе поля записи с соотв.
ключом пересчитывалось.
← →
Виталя (2003-08-20 15:32) [4]А насчет "верстал" я не поняла - ты хочешь сказать что IBExpert мне его добавил ? По сути разницы-то никакой как от этого тригера избавится ?
← →
Johnmen (2003-08-20 15:33) [5]Т.е. триггер на изменение таблицы, изменяющий её саму ???!!!
← →
Виталя (2003-08-20 15:54) [6]Ты говоришь о моих триггерах или о том который появился?
Если о моих то объясняю еще раз :
Есть табл. A и B - у А есть триггер на изменение который меняет одно поле В. В списке триггеров от кот. зависит B стоят все триггера А и еще в довесок какой - то ount. Чей триггер ount - не понятно потому что он воообще не открывается только сообщение выдается что его нет.
← →
Digitman (2003-08-20 16:01) [7]
> Виталя
а запросто !
← →
Johnmen (2003-08-20 16:05) [8]Прописана ли ссылочная целостность ?
← →
Виталя (2003-08-20 16:15) [9]>Digitman
Слушаю внимательно
>Johnmen
Не-а не прописана, мне она там не в тему. А что это повод появляться тригерам не весть от куда ?
← →
Digitman (2003-08-20 16:17) [10]
> Johnmen
имена-то у них , у сист.триггеров, реализующих RefIntegrity, начинаются с RDB$ ... даже намека на ount нет ... то-то и непонятно ...
← →
Digitman (2003-08-20 16:21) [11]
> Виталя
так все же - IBExpert или не IBExpert ??
← →
Johnmen (2003-08-20 16:29) [12]>Digitman ©
Да, с RDB$, но возможно вследствии неких мистических явлений имя поломалость...:)
И еще смущает это имя : c ount ...
← →
Digitman (2003-08-20 16:36) [13]
> Johnmen
тот же IBExpert имеет привычку при соотв.опциях лепить что ни попадя прямиком в сист.таблицы ... немаловероятно, что в ходе такой вот транзакции и происходит сия беда .. там же , у Хвастунова билдов - немеряно) ... черт те что можно ожидать от любого билда))
← →
Виталя (2003-08-20 17:01) [14]> Johnmen
IBExpert - то он IBExpert. А что бы не ломали голову над названием могу еще прикольчик рассказать о таком же "фантомном", только не триггере, а представлении с именем density. Он у меня с месяц назад появился в списке представлений от которых зависит одно мое представление, когда я его изменить пыталась. Я тогда отделалась ерундой - сделала другое представление, а старое "испорченное" этой density у меня так и весит мертвым грузом (тоже между прочем это density от всех полей зависит). Народ ну неужели я первый человек на планете который с подобным сталкивается ?...
← →
Digitman (2003-08-20 17:15) [15]
> Виталя
ты уж как-нить определись с ориентацией) ... "Виталя", кажись, все же мужское имя)... а то жутковато как-то увязывать его с фразами от 1 л. ж.р.)
не выбросить ли на время IB5.x ? дабы попробовать сэмулировать ситуацию на более поздних версиях ? или на некоторых клонах (халявных пока еще) ?
и - опять же - не понял я : вручную DDL-запросы формируются либо IBExpert (или какие-то еще виз.инструменты) используются ?
← →
Виталя (2003-08-20 17:27) [16]>Digitman
Почему мужское - меня так все называют, полное - Виталия. Первый раз с какими - то проблемами сталкиваюсь.
Я IBExpert-ом пользуюсь. А насчет эмуляции то специально у меня лично такого сделать не получается))
← →
Digitman (2003-08-20 17:30) [17]
> Виталя
надо же ! imho, редкое имя) ... не знал, извини !
какую версию/билд Эксперта пользуешь ?
← →
Виталя (2003-08-20 17:45) [18]>Digitman
Версия 2.4.0.2
← →
Виталя (2003-08-20 17:59) [19]На счет фантомного представления, я тут его откопала оно совсем не density называется, а как это не странно dentify - то есть очень похоже на i dentify . К чему бы это ...
← →
Zz_ (2003-08-20 18:13) [20]>>Народ ну неужели я первый человек на планете который с подобным
>>сталкивается
Было нечто подобное.
Внимания я не обращал на это и не разбирался,
так как уже было принято решение уходить с IB
← →
Виталя (2003-08-20 18:33) [21]Хорошо вам, а мне рабочую базу с приложением через неделю сдавать.
В общем пока я тут болтала попробовала поменять еще одну табл. и заработала триггер с названием ONEY (для спрвки MONEY, Identify, Count -мои домены). Хоть к базе не прикасайся.
← →
Johnmen (2003-08-20 23:43) [22]>Виталя
1. Если используется IBExpert, то при регистрации БД надобно корректно указать тип БД.
2. Категорически не рекомендуется использовать в качестве имен своих объектов имена, совпадающие с зарезервированными в СУБД (напр. Count).
А вообще такое впечатление, что просто кривой IBExpert. О чем и упоминал Digitman.
← →
Виталя (2003-08-21 09:57) [23]> Johnmen
1.Тип указан корректно.
2.Ну уже что сделано то сделано.
А вообще я с этой базой уже месяца 2 вожусь и кроме того представления месячной давности и вчерашних двух триггеров никаких проблем не было. К тому же насколько мне известно MONEY не зарезервировано.
В любом случае я так понимаю, что сделать здесь уже ничего нельзя. Ну будут у меня еще 2 "мертвые" таблицы. Может попробую скрипты извлечь и создать другую БД по ним.(Кстати создание всех этих "фантомов" в скриптах не отражается)
← →
Johnmen (2003-08-21 10:03) [24]А за эти 2 месяца сервер не меняла ?
← →
Zacho (2003-08-21 10:05) [25]Попробуй сделать backup/restore
Если не даст эффекта - действительно пересоздай базу скриптом.
Похоже, что это баг в этой версии IBExpert - поставь более свежую.
← →
Digitman (2003-08-21 10:09) [26]
> Виталя
Смени-ка ты версию Эксперта для начала ! Чую, Эксперт эти фокусы викидывает, некорректно работая с сист.таблицами.
поставь себе как минимум v2.5.0.44, многие известные и неприятные "глюки" там уже устранены на сей момент.
в опциях Эксперта хотя бы на время откажись от прямой модификации сист.таблиц, пусть сервер сам модифицирует их как положено при исполнении DDL-скриптов
не поленись так же погулять по ньюс-конференции interbase.ibexpert.ru - вероятно, схожие проблемы местные завсегдатаи имели, а это уже что-то ... да и Хвастунову непосредственно можно задать вопросы, если есть достаточно серьезные подозрения в некорректности работы Эксперта
Страницы: 1 вся ветка
Текущий архив: 2003.09.11;
Скачать: CL | DM;
Память: 0.51 MB
Время: 0.009 c