[FB] Lock conflict podczas tworzenia bazy

0

Cześć, tworzę sobie bazę Firebird z Delphi za pomocą komponentu TIBScript. Skrypt mam eksportowany z IBExperta do pliku. Następnie dzielę sobie skrypt jakby na 2 części(create database i reszta).

Wszystko działało i ładnie śmigało do pewnego momentu.
Gdy zaopatrzyłem bazę w klucze obce i wyeksportowałem skrypt, podczas jego uruchamiania z Delphi dostaję taki komunikat błędu:

Lock conflict on no wait transaction
unsuccessful metadata update
object SALONY is in use

Kawałki skryptu, co mają jakikolwiek związek z tabelą SALONY przedstawiam poniżej:

/* tworzenie bazy */

/* tworzenie kilku generatorów */
CREATE GENERATOR GEN_SALONY_ID;
SET GENERATOR GEN_SALONY_ID TO 1;

/* tworzenie innych generatorów */
/* procedury składowane i jakieś tabele */
CREATE TABLE SALONY (
    ID                BIGINT NOT NULL,
);

/* reszta tabel(w salonach są oczywiście inne pola w większości "teleadresowe") */
/* klucze główne */
ALTER TABLE SALONY ADD CONSTRAINT PK_SALONY PRIMARY KEY (ID);
/* inne klucze główne */

ALTER TABLE DOKMAG ADD CONSTRAINT FK_DOKMAG_1 FOREIGN KEY (ID_SALONU) REFERENCES SALONY (ID) ON DELETE SET NULL ON UPDATE CASCADE;
ALTER TABLE DOKMAG ADD CONSTRAINT FK_DOKMAG_3 FOREIGN KEY (ID_SALONU_T) REFERENCES SALONY (ID) ON DELETE SET NULL ON UPDATE CASCADE;

/* inne klucze obce, procedury i triggery */

Czy ta kwestia, że w jedenej tabeli są dwa klucze obce wskazujące w zasadzie na tą samą kolumnę w tabeli, może mieć wpływ na ten błąd? Jeśli tak, to jak temu zaradzić?

0

Na moj chlopski rozum to moze zobaczysz jak to wyglada w IBExpert, bo mi sie wydaje ze stworzyles tabele wi pierwszysm skrypcie i nie wykonales commit i tablea jest dalej blokowana :)

0
cobra napisał(a)

Na moj chlopski rozum to moze zobaczysz jak to wyglada w IBExpert, bo mi sie wydaje ze stworzyles tabele wi pierwszysm skrypcie i nie wykonales commit i tablea jest dalej blokowana :)

W IBExpercie ten sam skrypt się wykonuje bez problemu. Zobaczę z tym COMMITem jednak. Może faktycznie to to...

[po sprawdzeniu]

Jednak to nie chodzi o commit. Dałem commit wokr po utworzeniu tabel i po utworzeniu kluczy głównych. Jest ten sam błąd.

1 użytkowników online, w tym zalogowanych: 0, gości: 1