Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / правильно сделать zap / 11 сообщений из 11, страница 1 из 1
31.03.2004, 06:50
    #32463065
Erlan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
правильно сделать zap
такая тема.
необходимо в ходе работы программы очистить таблицу.
делаю
Код: plaintext
1.
2.
select  0 
use '..' exclusive
zap


Ругается "File in use"

Я так понимаю, где в другом месте эта же таблица открыта эксклюзивно.
Как можно узнать: откуда она открыта.

Или, быть может, принудительно закрыть таблицу

p/s close tables не помогает почему-то..
...
Рейтинг: 0 / 0
31.03.2004, 08:05
    #32463107
Череп
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
правильно сделать zap
Если прога работает под Novell NetWare, найти соединения открывшие dbf можно посмотрев rconsole. Если это надо делать в режиме выполнения программы, удобно пользоваться библиотекой gplib - там есть функции получения массивов с соединениями, которые открыли, заблокировали файлы, можно послать им сообщение или отрубить от сервера.
...
Рейтинг: 0 / 0
31.03.2004, 08:07
    #32463109
Erlan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
правильно сделать zap
Не.
Windows 2000/XP
...
Рейтинг: 0 / 0
31.03.2004, 08:48
    #32463150
bdv9
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
правильно сделать zap
Я так понимаю, Вы пишете сетевую программу.
Если да, то применение команд ZAP, PACK, REINDEX нецелесообразно.
Ошибка File is in use не говорит о том, что таблица кем-то открыта эксклюзивно, она может быть открыта и для совместного доступа другим пользователям.
Команда Close Tables закрывает только таблицы, которые открыты Вами в данном потоке VFP.
Советую почитать Л.Пинтера "Руководство разработчика FoxPro", особенно главу по сетевому программированию.
...
Рейтинг: 0 / 0
31.03.2004, 08:55
    #32463156
Erlan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
правильно сделать zap
Вы правы. Программа сетевая.
Но таблицу открываю локальную.
С сервера SQL данные забираю сквозными запросами.
...
Рейтинг: 0 / 0
31.03.2004, 09:06
    #32463170
Череп
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
правильно сделать zap
Похоже, another user тут не причем. Если таблица уже была открыта ее надо закрыть use in (TableAlias)
...
Рейтинг: 0 / 0
31.03.2004, 09:57
    #32463237
Reznichenko Y.V.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
правильно сделать zap
Попробуйте перед эксклюзивным открытием таблицы сделать проверку:

IF USED("alias")
USE IN alias
ENDIF
...
Рейтинг: 0 / 0
31.03.2004, 11:07
    #32463427
lesha_spb
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
правильно сделать zap
Или что то же самое USE IN SELECT("alias")
...
Рейтинг: 0 / 0
31.03.2004, 12:50
    #32463710
Erlan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
правильно сделать zap
а как узнать, в каких рабочих областях окрыта данная таблица ?
...
Рейтинг: 0 / 0
31.03.2004, 13:09
    #32463751
SSV
SSV
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
правильно сделать zap
автор
а как узнать, в каких рабочих областях окрыта данная таблица ?

?select(cAliasName)

А в данном случае можно так
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
if used('cAliasName')
   use in cAliasName
endif
if not used('cAliasName')
   use cAliasName in  0  exclusive
   zap
endif
...
Рейтинг: 0 / 0
31.03.2004, 17:42
    #32464523
Urri
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
правильно сделать zap
По существу вопроса все сказано. Но хочу добавить вот по какому аспекту:

Если делать так:

Код: plaintext
1.
2.
3.
USE a1.DBF shared
USE in  0  a1.DBF alias a2 again exclusive
SELECT a2
zap


- оказывается, a2 будет открыта, но не эксклюзивно. Т.е. ошибка выдается не на втором use, а уже на zap'е - только ошибка не file is in use, а exclusive open требуется - или Buffering mode нужно выключить - в зависимости от установки буферизации.

Так, к сведению, как фокс себя иной раз ведет. Плюет на явный exclusive в случае again, например ;-)
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / правильно сделать zap / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]