Форум: "Начинающим";
Текущий архив: 2009.04.12;
Скачать: [xml.tar.bz2];
ВнизDelphi(ADO)+Access: как узнать кто подключен к *.mdb? Найти похожие ветки
← →
Xmel (2009-02-25 21:09) [0]В папке с общим доступом лежит *.mdb, с помощью программы пользователи подключаются и работают с данными в таблицах.
- Как при необходимости определить - кто в данный момент работает с базой (сетевые имена пользователей, например)?
- И можно как-то реализовать принудительное закрытие всех экземпляров приложения работающих с *.mdb?
← →
sniknik © (2009-02-25 21:36) [1]> - Как при необходимости определить - кто в данный момент работает с базой (сетевые имена пользователей, например)?
рядом с файлом базы создается файл блокировок... оттуда по моему можно вытащить имя компа и юзера (базы) тех кто в данный момент подключен.
> - И можно как-то реализовать принудительное закрытие всех экземпляров приложения работающих с *.mdb?
а смысл?
← →
Xmel (2009-02-26 07:48) [2]> sniknik © (25.02.09 21:36) [1]
> рядом с файлом базы создается файл блокировок... оттуда
> по моему можно вытащить имя компа и юзера (базы) тех кто
> в данный момент подключен.
Знать бы по-точнее! То, что "файл блокировок" создаётся - я и сам заметил! Но вот бывает срочно нужно копию файла *.mdb, а народ упорно не хочет выходить из программы! Только кивают все головой- мол всё "Ок!"-вышли, а "файл блокировок" как был, так и остался - значит кто-то не вышел! И начинаешь обходить компьютеры - смотреть.
> sniknik © (25.02.09 21:36) [1]
> > - И можно как-то реализовать принудительное закрытие всех
> экземпляров приложения работающих с *.mdb?
> а смысл?
Вот, как раз, в связи с вышеизложенным, не хотят сами закрыть программу - сделать это за них! Есть способ через ADO "выбросить" всех из Access (*.mdb)?
← →
Palladin © (2009-02-26 07:59) [3]1. Можно прекращать общий доступ
2. А не слишком ли много требуешь от, по сути файл-серверной, СУБД?
← →
sniknik © (2009-02-26 08:05) [4]> Знать бы по-точнее!
ну так открой его и глянь внутрь, будешь знать точнее.
> Но вот бывает срочно нужно копию файла *.mdb
ну и сделай копию, программно... т.е. создай пустую базу и скопируй в нее запросами данные. выгонять никого не требуется.
> Есть способ через ADO "выбросить" всех из Access (*.mdb)?
через ADO нет, а так легко, просто вытаскиваешь сетевой шнурок из сервера и ... теряешь какие нибудь данные возможно. впрочем при любом насильственном способе это возможно.
← →
Сергей М. © (2009-02-26 08:53) [5]
> Xmel (26.02.09 07:48) [2]
> не хотят сами закрыть программу - сделать это за них
Вообще-то и поколотить могут за это)
Ну а в целом, если программа твоя, что мешает скомандовать ей по сети "закругляйся" ?
← →
AndreyV © (2009-02-26 08:56) [6]1. Завести таблици с полем "НеобходимоОтсоедениться", на клиентах провереять его раз в минуту, если выставлен, корректно завершать соединение.
2. Создавать файл "НеобходимоОтсоедениться"
3. На клиентах встроить слушалку чего-либо, посылать соответствующее сообщение.
← →
AndreyV © (2009-02-26 09:26) [7]> [6] AndreyV © (26.02.09 08:56)
> 1. Завести таблици
таблицу
← →
KSergey © (2009-02-26 10:44) [8]> Xmel (25.02.09 21:09)
> - Как при необходимости определить - кто в данный момент работает с базой (сетевые имена пользователей, например)?
>
> - И можно как-то реализовать принудительное закрытие всех
> экземпляров приложения работающих с *.mdb?
На компьютере, где лежит МДБ-файл:
Панель управления - Администрирование - Управление компьютером - Общие папки - Открытые папки. Все видно. Не программно, да, но точно знаешь к какой марьванне подойти и настучать.
> - И можно как-то реализовать принудительное закрытие всех экземпляров приложения работающих с *.mdb?
Можно тут же всех и отрубить (через контекстное меню вроде), только это плохо кончится: ведь программы не смогут корректно закрыть файл БД и дописать в него что закэшировано, например, из-за чего его структура может разрушиться, причем непоправимо. Варианты верной реализации предложены выше.
А бэкапы надо делать темными ночами, по автоматическому расписанию, как я, например :)
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2009.04.12;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.006 c