Страница 1 из 1

Бессмертная таблица!

Добавлено: 13 июл 2005, 11:09
joolio
Здраствуйте!
Не получается удалить таблицу в IB чрез Дельфи. Пробовал:
IBQuery3.Close;
IBQuery3.SQL.Clear;
IBQuery3.SQL.Add('drop table temp');
IBQuery3.ExecSQL;
IBQuery3.ApplyUpdates;
fmMain.IBTransaction1.Commit;
ругается : Can not perform this operation on a closed dataset!
Не знаю в чем проблема, помогите кто может :( .

Добавлено: 13 июл 2005, 11:11
kdv
ApplyUpdates зачем???

Добавлено: 13 июл 2005, 11:15
joolio
Ладно, убрал ApplyUpdates, но все равно ошибка, но уже другая
Unsuccesfull metadata update object TEMP is in use

Добавлено: 13 июл 2005, 11:52
kdv
ну и прочитай сообщение-то.

Добавлено: 13 июл 2005, 12:00
joolio
Прочитать то прочитал, но у меня таблица temp вообще нигде не используется. Все датасеты на эту таблицу closed, IBConsole тоже закрыт.

Добавлено: 13 июл 2005, 12:32
kdv
если к temp в этой же транзакции были обращения, то не получится. Сделай Commit, StartTransaction, drop table temp, Commit.
Если есть еще активные коннекты, обращавшиеся к этой таблице - все равно не получится.

Добавлено: 03 май 2007, 10:17
Dimitry Sibiryakov
Знаю, что археология это нехорошо, но стартовать новую тему лень. Известен ли сообществу баг в IB7.1-IB2007, который бы все равно выдавал "object in use" даже при правильном порядке операций - commit-drop-commit в единственном коннекте? QC на CG молчит (хотя может быть я его неправильно пытаю).