Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

unsuccessful metadata updateobject. Помогите разобраться [IB6.x]


Blondin ©   (2004-09-21 11:54:00) 

необходимо создать в базе две таблицы

CREATE TABLE AGREEMENT (
 ID_AGR INTEGER NOT NULL,
 NUM_DOG VARCHAR(30) NOT NULL,
 DATE_DOG TIMESTAMP NOT NULL,
 TYPE_DOG INTEGER NOT NULL,
 CLIENT_NAME VARCHAR(100) NOT NULL,
 PACKET_COST DOUBLE PRECISION NOT NULL,
 PACKET_TYPE INTEGER NOT NULL,
 WHO_DID VARCHAR(50) NOT NULL,
 CONSTRAINT PK_AGR PRIMARY KEY (ID_AGR)
)

создается успешно, но вторая

CREATE TABLE PAYMENT (
 ID_PAY INTEGER NOT NULL,
 ID_AGR INTEGER NOT NULL,
 DATE_PAY TIMESTAMP NOT NULL,
 SUM_PAY DOUBLE PRECISION NOT NULL,
 CONSTRAINT PK_PAY PRIMARY KEY (ID_PAY),
 CONSTRAINT FK_PAY FOREIGN KEY (ID_AGR) REFERENCES AGREEMENT(ID_AGR)
)

выдает ошибку
Invalid modify request.
unsuccessful metadata updateobject AGREEMENT is in use

собственно, ошибка возникает при создании внешнего ключа,
поскольку без него таблица создается, но при попытке
создать FK через alter table возникает таже ошибка.

Я взял для теста другую базу, там все создается нормально.
Бэкап/рэстор не помог.

Server - Interbase 6.01


Deniz   (2004-09-22 07:20:00) [1]

> Blondin   (21.09.04 14:03) [10]
>Их админ не верит в будущее бесплатных СУБД

А типа "Server - Interbase 6.01"они покупали?
IB6.0 самый глюкавый из всего набора IB/FB/YA, огромный список неисправленных глюков(и не исправятся никогда).
> Собираются приобретать лицензионный Интербейз 7
Попроси, пусть поставят FB1.5(переход практически без проблем) и потестируют пару месяцев, если не понрявится тогда уж пусть и покупают.


Blondin   (2004-09-21 14:03:00) [2]

2Vetal
в том случае не я контролирую сервер, могу им только
рекомендовать, а пока обязан делать разработку в указанных
рамках.
Их админ не верит в будущее бесплатных СУБД, считает что это
не надежно, развитие может прекратиться, в то время как
Борланд будет продвигать и развивать Интербейз.
И мне нечем ему возразить.
Собираются приобретать лицензионный Интербейз 7


Vetal   (2004-09-21 13:43:00) [3]

Еще раз говорю, если есть возможность, попробуй перейди на Firebird 1.5. Он бесплатен, и с ним такого глюка не наблюдалось...


Blondin   (2004-09-21 13:26:00) [4]

В общем, это все очень сильное колдунство.
Я взял, отключил всех юзеров от этой базы,
сделал простым "холодным" копированием копию GDB-файла,
подключился уже к нему, и эти запросы на создание таблиц прошли
на ура.
У меня от этого уже крыша едет.

Получается это глюки моего Итербейза

Большое спасибо всем кто откликнулся !


sniknik   (2004-09-21 12:49:00) [5]

стоит yaffil, без проблем оба запроса выполнились. конект через ADO(ZStyle OLE DB Provider).
без всяких реконектов.


Blondin   (2004-09-21 12:39:00) [6]

>После создания первой тбл тоже нужен коммит.
делал, поэтапно создавал (1-ю табл, комит, реконнект, 2-ю табл)
ошибка.


Vetal   (2004-09-21 12:28:00) [7]

А помоему это проблема в Firebird 1.0. Я когда поставил Firebird 1.5, проблема ушла автоматом


Johnmen   (2004-09-21 12:23:00) [8]

После создания первой тбл тоже нужен коммит.
Причем в случае ибконсоли ещё и переподсоединиться придется...


Blondin   (2004-09-21 12:19:00) [9]

попробовал также через IBExpert - таже ошибка при commit


Blondin   (2004-09-21 12:08:00) [10]

да, в IBConsole,
попробовал также через BDE-шный SQL-Explorer, таже ошибка


Johnmen   (2004-09-21 12:04:00) [11]

И всё это делается в IBConsole ? Или где ?


Наверх

Титульная страница Поиск, карта сайта Написать письмо