Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.53 MB
Время: 0.022 c
1-33548
Валк
2003-09-01 15:45
2003.09.11
Как в Pascal узнать что символ строка или буква?


3-33503
Sheng
2003-08-20 08:57
2003.09.11
Microsoft Jet


3-33478
Project777
2003-08-20 13:57
2003.09.11
SQL - запрос...


3-33480
testthewest
2003-08-20 12:45
2003.09.11
Delphi не реагирует на RAISERROR


1-33540
Dysan
2003-08-29 12:05
2003.09.11
Диаграмы экселя