powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Фоновое сжатие БД
3 сообщений из 3, страница 1 из 1
Фоновое сжатие БД
    #39910108
MikeLed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет.

Общепринято считать что сжать можно, которую не открыли другие пользователи.
Не совсем так.

Вот проверенный рабочий алгоритм:
Считаем что некие таблицы бд открыты др. пользователями
1. устанавливаем признак запрета внесения изменений бд
2. желательно (но не обязательно - придется как-то что-то обрабатывать в зависимости от конкретной формы) закрыть все формы
3. копируем бд средствами FSO в др.каталог (функция FileCopy этот сделать не позволит)
4. сжимаем скопированную бд (средства в форуме приводились)
5. возвращаем бд в родной каталог опять таки средствами FSO .
6. снимаем признак запрета внесения изменений бд

Все работает.
Но оказалось, что надо выполнить переподключение таблиц сжатой бд.
Без переподключения наблюдаются тормоза.
Да, еще - перед началом проверяется, что кто-то выполняет операции не позволяющие осуществит сжатие в тек. момент.

Тут возникает доп задача - заставить переподключить бд у активных пользователей.

Кроме того, когда-то писано:
Владимир Саныч
Должно быть две базы: в одной находимся, другую сжимаем. Кстати, если система разделена на программу и данные, то так и получается: находимся в базе с программой, сжимаем базу с данными.


Не совсем так.
базу в которой я работаю я могу также скопировать, используя FSO (CopyFile ), в другой каталог, сжать и вернуть на родное место, опять таки используя FSO (CopyFile ).
Чем это чревато - не знаю не проверял. Но то, что отрытую на пк базу можно программно подменить факт.
К чему это приведет - вопрос открытый.

то что это может быть долго - понятно.
Но зато не надо выгонять пользователей.

Критикуйте, по существу.
...
Рейтинг: 0 / 0
Фоновое сжатие БД
    #39910195
alecko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MikeLed,
1. подменить базу нельзя, если она зашифрована и пароль неизвестен.
2. можно в базе с таблицами держать счетчик, как только он будет скажем x mod 100=0 - на первой открывающейся базе с интерфейсом открываем её монопольно, (архивируем), сжимаем, открываем в обычном режиме. (либо сделать запрет с требованием открыть с правами админа)
то что Вы предлагаете - "горячее сжатие базы" - может быть чревато. и думаю не стоит этого делать даже в учебных целях.
при этом такой метод в однопользовательском режиме очень даже ничего - проверено, работает правильно.
...
Рейтинг: 0 / 0
Фоновое сжатие БД
    #39911293
andris2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MikeLed ,
Все эти манипуляции на работающих открытых базах, как правило, приводят к плачевным результатам.
Очень большой риск что-либо потерять. Сжимать только в нерабочее время, - зачем вам на задницу лишние приключения?
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Фоновое сжатие БД
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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