Разное

Сжать и восстановить большой файл Access

Зная, что база данных Access не может обрабатывать более 2Гб данных, все же может случиться, что объем Вашей базы данных достигнет этого показателя (Fig 1).

Файл Access, размер которого превышает 2Гб
Fig 1 : Файл Access, размер которого превышает 2Гб

Например, когда Вы импортируете внешние данные в базу данных, после того, как Вы удалили таблицы из файла Access, Вам необходимо сжать и восстановить ее, чтобы очистить кэш и уменьшить размер файла.

Однако, когда Вы пытаетесь сжать и восстановить (Fig 2) Access файл, размер которого 2Гб (Fig 1), Вы получаете ошибку «Invalid argument» («Недопустимый аргумент») (Fig 3), означающую, что размер базы данных слишком большой для сжатия и превышает допустимый максимальный размер.

Access, сжать и восстановить файл
Fig 2 : Access, сжать и восстановить файл
Access, ошибка сжатия
Fig 3 : Access, ошибка сжатия

Предлагаемое мною решение для возврата Вашей базы данных очень простое: Вам нужно загрузить еще одну базу данных Access, CompactAndRepairDB-v1.0.mdb[1], что позволит Вам сжать и восстановить первую базу данных.

Запустив на выполнение процесс сжатия базы данных, но не окончив его, убедитесь, что по окончании сжатия базы Вы не получите следующее сообщение об ошибке: «Table TempMSysAccessObjects already exists.» («Table TempMSysAccessObjects уже существует») (Fig 4).

Access, ошибка после первого сжатия
Fig 4 : Access, ошибка после первого сжатия

Чтобы проверить это, зайдите в опции и поставьте галочку в графе «Systems objects» («Системные объекты») (Fig 5), после чего отобразиться таблица TempMSysAccessObjects (Fig 6), которую Вы должны удалить, чтобы по завершению процесса сжатия базы Вы не получили сообщение об ошибке (Fig 4)

Access, функция отображения системных объектов
Fig 5 : Access, функция отображения системных объектов
Access, отображения системных объектов
Fig 6 : Access, отображения системных объектов

Затем загрузите файл CompactAndRepairDB-v1.0.mdb[1], откройте его, и зайдите в пункт меню «макросы» (Fig 7). Кликните двойным щелчком мыши по языку, который Вы хотите выбрать (английский, испанский, французский, польский), затем введите полное имя Вашего файла (Fig 8).

CompactAndRepairDB-vX.0.mdb, выбор языка
Fig 7 : CompactAndRepairDB-vX.0.mdb, выбор языка
CompactAndRepairDB-vX.0.mdb, выбор базы данных для сжатия
Fig 8 : CompactAndRepairDB-vX.0.mdb, выбор базы данных для сжатия

Введите полное имя сжатой базы данных, которая будет сохранена в корневой папке диска C:\

Для осуществления данной процедуры необходимо наличие исходного файла, который проверен благодаря коду Аллена Броуна.[2].

CompactAndRepairDB-vX.0.mdb, выбор исходного файла
Fig 9 : CompactAndRepairDB-vX.0.mdb, выбор исходного файла