Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
19.05.2004, 08:08
|
|||
|---|---|---|---|
|
|||
занята ли таблица другим пользователем? |
|||
|
#18+
Привет. Программа работает в сети с 4 пользователями. Хочу чтобы пользователь, выходящий последний из программы копировал таблицы в архив. При выходе я делаю close all (т.е. в текщем сеансе таблицы закрыты). Как узнать занята ли таблица или БД другим пользователем в сети? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
19.05.2004, 08:52
|
|||
|---|---|---|---|
|
|||
занята ли таблица другим пользователем? |
|||
|
#18+
Если у Вас VFP8, то можно попробовать так: 1. Закройте все таблицы 2. Откройте нужную таблицу (или несколько таблиц) эксклюзивно, используя TRY .. ENDTRY: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Но имейте в виду: если Вы открыли таблицу эксклюзивно, а другой пользователь пытается открыть её в режиме разделяемого доступа, то у него произойдёт ошибка. Её так же нужно отслеживать. Успехов! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
19.05.2004, 09:17
|
|||
|---|---|---|---|
|
|||
занята ли таблица другим пользователем? |
|||
|
#18+
А как узнать какой пользователь держит (сетевое имя, например) ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
19.05.2004, 09:39
|
|||
|---|---|---|---|
|
|||
занята ли таблица другим пользователем? |
|||
|
#18+
Вроде как никак... Если только спросить у сисадмина, чтобы глянул у себя... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
19.05.2004, 09:53
|
|||
|---|---|---|---|
занята ли таблица другим пользователем? |
|||
|
#18+
Для копирования таблиц вовсе не обязательно ждать пока другие пользователи закончат работу. Можно копировать даже таблицы с которыми сейчас работают другие пользователи. Для этой цели лучше всего использовать объект "Scripting.FileSystemObject" примерно так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. В принципе, можно копировать и сразу всю директорию не сканирую каждый файл в отдельности. Просто при копировании по файлу за раз можно организовать индикатор прогресса, если таблицы достаточно большого размера. Подробнее об объекте Scripting.FileSystemObject и как его можно использовать в FoxPro почитай здесь http://kodu.neti.ee/~juri4/vfpplus/vbs_fso_01_ru.htm ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
19.05.2004, 10:31
|
|||
|---|---|---|---|
|
|||
занята ли таблица другим пользователем? |
|||
|
#18+
to ВладимирМ > Для этой цели лучше всего использовать объект "Scripting.FileSystemObject" Можно просто селектом. Scripting.FileSystemObject не очень-то шустрый. Особенно если файлы многометровые. Только как быть в случае, если несколько пользователей одновременно запустили архивирование? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
19.05.2004, 10:43
|
|||
|---|---|---|---|
занята ли таблица другим пользователем? |
|||
|
#18+
Можно просто селектом. Существует команда COPY TO, которая также может копировать открытые таблицы. Однако, как и в случае с SELECT-SQL будет проблема с копированием собственно файла базы данных (DBC) Только как быть в случае, если несколько пользователей одновременно запустили архивирование? Решение элементарное - создать в директории-цели пустую табличку и перед началом копирования попытаться ее заблокировать. Удалось - копируем, нет - копирует другой пользователь. Хотя, сама постановка задачи весьма странная. Обычно такими делами занимается администратор на регулярной основе. Раз в день (неделю, месяц) запускается процедура резервного копирования. Наряду с другими регулярными процедурами по обслуживанию базы данных. Привязка любых служебных операций (резервное копирование, восстановление индексов, проверка целостности данных и т.п.) к моменту старта или завершения программы - это не очень хорошее решение. Неоправданные тормоза. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=41&mobile=1&tid=1596580]: |
0ms |
get settings: |
6ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
135ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
37ms |
get tp. blocked users: |
1ms |
| others: | 219ms |
| total: | 432ms |

| 0 / 0 |
