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

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

При выполнении запроса на ALTER TABLE получаю "Table is busy" [D5, Paradox]


The X ©   (2007-05-29 14:13:00) 

Необходимо программно изменить структуру таблицы Paradox посредством ALTER TABLE. В программе много TTable и TQuery, некоторые из них связаны с этой таблицей. Получаю сообщение, что таблица занята пользователем.
Что делалось:
1) Программно перед запросом на изменение отключаю от этой таблицы все связанные с ней TTable. Не помогает.
2) Нахожу в коде места, в которых одновременно с этим ALTER TABLE по времени открыт TQuery, к-рый связан с этой таблицей --- для всех их делаю Query.Close. Не помогает.
3) Проверяю работу ALTER TABLE не из run-time --- не помогает.

Где еще могут быть подключенные хвосты к этой таблице?


Loginov Dmitry   (2007-05-30 08:24:00) [1]

> Необходимо программно изменить структуру таблицы Paradox
> посредством ALTER TABLE.


Для изменения структуры таблицы Paradox предназначена функция dbiDoRestructure


ЮЮ   (2007-05-30 04:17:00) [2]


> Я прекращаю работу в design time и делаю проверку - не помогает.
>  Т.е. в Delphi они-то открыты, но Delphi я закрываю.


И как тогда отлаживаьться будешь?
Самое нормальное решение - в IDE все наборы данных должны мыть закрыты. А открывать в Runtime. Тогда таблица будет действительно открыта только один раз и её закрытие будет управляемым в RunTime

3) Проверяю работу ALTER TABLE не из run-time --- не помогает.
А это как?


The X   (2007-05-29 17:06:00) [3]

Я прекращаю работу в design time и делаю проверку - не помогает. Т.е. в Delphi они-то открыты, но Delphi я закрываю.


Плохиш   (2007-05-29 16:40:00) [4]

Вот ведь, блин, опять в "ю" не попадаю :-))


Плохиш   (2007-05-29 16:39:00) [5]


> AndreyV ©   (29.05.07 16:34) [4]
> А в самой Delphi они, часом, не открыты?

Пришёл и разрушил вся развлекаловку :-))


AndreyV   (2007-05-29 16:34:00) [6]

А в самой Delphi они, часом, не открыты?


The X   (2007-05-29 16:02:00) [7]

Пробовал и Table.Active = False и Table.Exclusive = True и на связанных Query.Destroy (кстати при этом нет физически файла C:\PDOXUSRS.NET, к-рый отвечает за блокировку доступа и который надо вручную удалить) - ничего не получается. Есть еще вариант насчет перезагрузки компьютера - бред. Вот в этом случае что еще может быть, кроме "хвостов на мамином или папином компьютере"?


Reindeer Moss Eater   (2007-05-29 15:09:00) [8]

Где еще могут быть подключенные хвосты к этой таблице?

На мамином компьютере вполне могут быть. Или на папином.


Savek   (2007-05-29 15:00:00) [9]

Отсюда не видно (


Наверх

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