funnyman Цитата: Да ужж, тогда конечно через дисконнект пользоватлей будет удобней.
Я конечно понимаю, везде задачи разные, но если я вот так вот просто завершу сеанс расчетчице, которая рассчитывает ЗП и делает отражение ЗП в бух учете за месяц на 800+ человек в 1С ЗУП, то она меня точно не похвалит и другие, кто ждет результатов ее работы.
Больно вольные решения отрубать всех насильно.
Если уж и делать отганичения, то выносить их нужно на некий иной уровень.
Например, если это база данных в которой делают документы, то запрещать брать на редактирование документы пока не перезапустишься и не обновишься, все уже ранее открытые документы так уж и быть дать возможность попытаться записать.
Не знаю чего трястись за лишние обращения в базе данных за проверкой какого либо флага на обновление.
1С в своих решениях делает обработчик, который повешен на таймер, там по тику (длительному по времени тику, не каждую минуту), проверяется модифицирована ли база данных (есть специальная платформенная функция) с момента запуска клиента, если база динамически модифицирована, то рекомендуется выполнить перезапуск. Нет никаких проблем.
Некоторые виды изменений базы данных, все же требуют остановки работы всех клиентов, для этого есть написанные на самом же встроенном языке обработки, которые рассылают оповещение клиентам и по истечении некоторого времени завершают работу клиента со стороны клиента. Так же параллельно на сервере ставится запрет на новые коннекты (админу дается лазейка на подключение с ключевым словом так сказать), пока администратор или кто еще не применит обновления к базе, после чего запреты на коннект снимаются и пользователи получают возможность продолжить работу. Все гуманно.