(495) 925-0049, ITShop интернет-магазин 229-0436, Учебный Центр 925-0049
  Главная страница Карта сайта Контакты
Поиск
Вход
Регистрация
Рассылки сайта
 
 
 
 
 

Сжатие базы данных

Источник: Leadersoft

О сжатии многопользовательских баз данных можно посмотреть вот здесь Сжатие и архивирование БД я же остановлюсь на сжатии клиентских приложений сделанных как в формате MDB (базы), так и формате ADP (проекты).

Ещё, когда начинал писать на Access 97, возник вопрос, как периодически сжимать базу данных? За время работы она довольно сильно распухала. Решений было несколько, но все они по тем или иным причинам были не оптимальны.

  1. давать пользователю доступ к полному меню Access,  что бы он мог сжимать базу не очень хорошо. Он может изменить какую-нибудь важную установку.
  2. Поставлять с базой утилиту JetCompact тоже не давало желательного эффекта. Утилиту часто теряли, забывали передавать  или устанавливать вместе с базой, При использовании защиты, требовалось задавать дополнительные параметры. Кроме того, многие пользователи были так сказать, «не квалифицированными».
  3. Использование параметров командной строки /compact и epair требовало размещение на рабочем столе дополнительных иконок и иногда сбивало пользователя, если у иконок оказывалось одинаковое изображение. Автоматическое создание иконок на рабочем столе требовало дополнительных знаний в программировании, а в ручную создавать было не всегда возможно. Хотя это и был на мой взгляд наиболее корректный способ обеспечения пользователя инструментом для сжатия базы.
  4. Всевозможные программные ухищрения на основе Access и VBScript. Генерировались всевозможные скрипты для запуска программы на сжатие, программно создавались кнопки, на которые вешались команды на сжатие, создавались специальные программы (mdb) сжималки. Если поикать по форумам то можно найти много следов этой деятельности.

С появлением Access 2000 ситуация несколько улучшилась. В параметрах базы появился флажок «Сжимать при закрытии». Постоянное сжимание базы, хоть и позволяло минимизировать объем базы, но замедляло работу (в и-нете это обсуждалось). Одно ожидание завершения сжатия, особенно когда объем базы перевалил за 10 Мб, может помотать пользователю нервы (а он, естественно, помотает Вам). Вот если бы можно было управлять этим флажком из программы.  Тогда можно дать указание на сжатие файла базы при закрытии, а при открытии базы, сбрасывать установку флажка. Так можно реализовать однократное сжатие базы. Можно написать подпрограмму сжатия базы по расписанию. Осталось только узнать, как это можно сделать. Оказывается сделать это очень просто. Всего две строчки кода
        SetOption "Auto Compact", True ' включить
и
        SetOption "Auto Compact", False ' выключить
Теперь одну строку надо повесить на кнопку включения сжатия файла, а вторую вставить в макрос AutoExec или стартовую форму. И всё готово.

 

Ссылки по теме


 Распечатать »
 Правила публикации »
  Написать редактору 
 Рекомендовать » Дата публикации: 26.02.2008 
 

Магазин программного обеспечения   WWW.ITSHOP.RU
Microsoft Office для дома и учебы 2019 (лицензия ESD)
Microsoft 365 Business Basic (corporate)
Microsoft Office 365 Бизнес. Подписка на 1 рабочее место на 1 год
Microsoft Office 365 Персональный 32-bit/x64. 1 ПК/MAC + 1 Планшет + 1 Телефон. Все языки. Подписка на 1 год.
Microsoft 365 Apps for business (corporate)
 
Другие предложения...
 
Курсы обучения   WWW.ITSHOP.RU
 
Другие предложения...
 
Магазин сертификационных экзаменов   WWW.ITSHOP.RU
 
Другие предложения...
 
3D Принтеры | 3D Печать   WWW.ITSHOP.RU
 
Другие предложения...
 
Новости по теме
 
Рассылки Subscribe.ru
Информационные технологии: CASE, RAD, ERP, OLAP
Безопасность компьютерных сетей и защита информации
Новости ITShop.ru - ПО, книги, документация, курсы обучения
Программирование на Microsoft Access
CASE-технологии
eManual - электронные книги и техническая документация
Вопросы и ответы по MS SQL Server
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
 



    
rambler's top100 Rambler's Top100