Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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
2-1235452145
vegarulez
2009-02-24 08:09
2009.04.12
вопрос связи поток и DataModule


2-1235026821
CodeMaster
2009-02-19 10:00
2009.04.12
C++ to Delphi


2-1235126054
D@nger
2009-02-20 13:34
2009.04.12
Альтернатива MainMenu


6-1202161712
NikB
2008-02-05 00:48
2009.04.12
Пример временного стоп-а TIdPeerThread в TIdHTTPServer


8-1192470895
Jimmy
2007-10-15 21:54
2009.04.12
Wmf, SetWorldTransform и МеtaFileCanvas





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский