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

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

Table is busy [dBase, FoxPro]


ganda ©   (2008-01-28 14:18:00) 

Суть вопроса, в следующем есть одна таблица к ней обращается один пользователь! Действия следующие происходит
Table.open;
table.append;
---------------
table.post;
table.close;
более ни каких действий не просиходит с этой таблицей!
Если таблица не существуют то мы её создаём!
Где искать грабли которые и дают такое сообщениие "Table is busy"


Виталий Панасенко(дом)   (2008-01-30 00:00:00) [1]


> Германн ©   (29.01.08 01:10) [8]

В этом случае обычно не Table busy,а Directory is busy...На счет занятой таблицы - не замечал ни разу


Германн   (2008-01-29 01:10:00) [2]


> Виталий Панасенко(дом)   (28.01.08 21:30) [7]

Или
> Loginov Dmitry ©   (28.01.08 21:29) [6]
>
> - некорректно вышли из программы при открытом состоянии
> набора данных (например, сняли из диспетчера задач, либо
> сняли на Ctrl+F2 из Delphi) (здесь возможны и другие ошибки)

остался файл *.lck, в котором запись в данную таблицу заблокирована "погибшим" приложением.


Виталий Панасенко(дом)   (2008-01-28 21:30:00) [3]

вероятно, sniknik ©   (28.01.08 18:23) [5] + таблица открывается в эксклюзивном варианте...т.е. работают 2 копии


Loginov Dmitry   (2008-01-28 21:29:00) [4]

> Где искать грабли которые и дают такое сообщениие "Table
> is busy"


Наиболее вероятно, что их следует искать в твоей программе, или в способе работы с нею. BDE - самая сложная "СУБД", и с ней нужно работать крайне осторожно. Шаг влево или вправо - нарушение работы программы, после чего приходится вырубать все, что использует этот самый BDE (в том числе и Delphi). Пытаться использовать BDE при разработке чего-то серьезного - это найти себе геммороя не на один год.

Ошибка "Table is busy" может произойти по разным причинам:
- некорректно вышли из программы при открытом состоянии набора данных (например, сняли из диспетчера задач, либо сняли на Ctrl+F2 из Delphi) (здесь возможны и другие ошибки)
- таблица уже открыта в другом приложении (или в Delphi) в монопольном режиме, либо при включенном ChacheUpdates.
- возможно, после создание таблицы не были закрыты какие-нибудь дескрипторы
- другие причины


sniknik   (2008-01-28 18:23:00) [5]

может быть открыта в IDE... вероятно если запуск идет из среды.


Anatoly Podgoretsky   (2008-01-28 16:32:00) [6]

> ganda  (28.01.2008 15:24:02)  [2]

Другие места не в БДЕ, а в твоей программе.


ditrix   (2008-01-28 16:28:00) [7]

ищи  local_shared  должно быть true
// по памяти ;)


ganda   (2008-01-28 15:24:00) [8]

А где смотреть в других местах настроек БДЕ?!


Anatoly Podgoretsky   (2008-01-28 15:20:00) [9]

> ganda  (28.01.2008 14:18:00)  [0]

В настройках БДЕ или в других местах кода.


Наверх

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