Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения: Access 2013 | Access 2016
При установке драйвера базы данных ядра СУБД Microsoft Access программа установки записывает набор значений по умолчанию в реестр Microsoft Windows в подразделах Подсистемы и форматы ISAM. Для добавления, удаления или изменения этих параметров необходимо использовать редактор реестра. В следующих разделах описаны параметры инициализации и формата ISAM для драйвера базы данных ядра СУБД Microsoft Access.
Параметры инициализации Microsoft Jet Engine
Папка Access Connectivity Engine\Engines содержит параметры инициализации для ядра СУБД msjet40.dll, используемого для доступа к базам данных Microsoft Access. Типичные параметры инициализации для записей в этой папке показаны в следующем примере.
SystemDB = <path>\System.mdb
CompactBYPkey = 1
PrevFormatCompactWithUNICODECompression=1
Ядро СУБД Microsoft Access использует следующие записи.
Запись | Description |
---|---|
SystemDB | Указывает полный путь и имя файла сведений о рабочей группе. По умолчанию используется соответствующий путь, за которым следует имя файла System.mdb. Значения имеют тип REG_SZ. |
CompactByPKey | Указывает, что при сжатии таблиц они копируются в порядке первичного ключа, если в таблице существует первичный ключ. Если в таблице нет первичного ключа, таблицы копируются в порядке базовой таблицы. Значение 0 указывает, что таблицы должны быть сжаты в порядке базовой таблицы; значение, отличное от нуля, указывает, что таблицы должны быть сжаты в порядке первичного ключа, если первичный ключ существует. Значение по умолчанию не равно нулю. Значения имеют тип REG_DWORD. |
PrevFormatCompactWithUNICODECompression | Базы данных ядра СУБД Microsoft Access используют кодировку Юникода для хранения текстовых данных. Сжатие данных Юникода может значительно повысить производительность базы данных из-за уменьшения количества операций чтения и записи страниц, которые потребуются впоследствии. Этот ключ определяет, следует ли создавать базы данных, созданные ядром СУБД Microsoft Jet версии 3.x или более ранней, со сжатым юникодом или несжатыми юникодами. ПРИМЕЧАНИЕ Этот параметр не применяется к сжатию баз данных ядра СУБД Microsoft Access. Базы данных ядра СУБД Microsoft Access по умолчанию сохраняют параметры сжатия, с помощью которых они были созданы. |
Папка Access Connectivity Engine\Engines\ACE содержит параметры инициализации для ядра СУБД Ace.dll, используемого для доступа к базам данных Microsoft Access. Типичные параметры инициализации для записей в этой папке показаны в следующем примере.
FlushTransactionTimeout=500
LockDelay=100
LockRetry=20
MaxBufferSize= 0
MaxLocksPerFile= 9500
PageTimeout=5000
Threads=3
UserCommitSync=Yes
ImplicitCommitSync=No
ExclusiveAsyncDelay=2000
SharedAsyncDelay=0
RecycleLVs=0
PagesLockedToTableLock=0
The Microsoft Access database engine uses the following entries.
Запись | Описание |
---|---|
PageTimeout | Интервал времени между временем, когда данные, которые не заблокированы для чтения, помещаются во внутренний кэш, и временем, когда они будут признаны недействительными, выраженные в миллисекундах. Значение по умолчанию — 5000 миллисекунд или 5 секунд. Значения имеют тип REG_DWORD. |
FlushTransactionTimeout | Эта запись отключает записи реестра ExclusiveAsyncDelay и SharedAsyncDelay. Чтобы включить эти записи, необходимо ввести нулевое значение. FlushTransactionTimeout изменяет метод ядра СУБД Microsoft Access для выполнения асинхронных операций записи в файл базы данных. |
LockDelay | Этот параметр работает в сочетании с параметром LockRetry, так как он заставляет каждую блокировку ждать 100 миллисекунда перед отправкой еще одного запроса на блокировку. Параметр LockDelay был добавлен, чтобы предотвратить ускорение, которое будет происходить в некоторых сетевых операционных системах. |
Maxlocksperfile | Этот параметр предотвращает превышение указанного значения транзакций в ядре СУБД Microsoft Access. Если блокировки в транзакции пытаются превысить это значение, транзакция разбивается на две или несколько частей и частично фиксируется. Этот параметр был добавлен, чтобы предотвратить сбои сервера Netware 3.1 при превышении указанного предела блокировки Netware, а также для повышения производительности как с Netware, так и с NT. |
LockRetry | Количество повторных попыток доступа к заблокированной странице перед возвратом сообщения о конфликте блокировки. Значение по умолчанию 20. Значения имеют тип REG_DWORD. |
RecycleLVs | Если этот параметр включен, ядро СУБД Microsoft Access будет перезапускать страницы с длинными значениями (LV) (Memo, Long Binary [ole object] и Binary data types). Значения имеют тип REG_DWORD. |
MaxBufferSize | Размер внутреннего кэша ядра СУБД, измеряемый в килобайтах (K). MaxBufferSize должно иметь целочисленное значение, больше или равное 512. Значение по умолчанию основано на следующей формуле: ((TotalRAM in MB - 12 MB) / 4) + 512 KB Например, в системе с 32 МБ ОЗУ размер буфера по умолчанию составляет ((32 МБ – 12 МБ) / 4) + 512 КБ или 5632 КБ. Чтобы задать значение по умолчанию, задайте для раздела реестра значение . MaxBufferSize= Значения имеют тип REG_DWORD. |
Потоки | Количество фоновых потоков, доступных ядру СУБД Microsoft Access. Значение по умолчанию — 3. Значения имеют тип REG_DWORD. |
UserCommitSync | Указывает, ожидает ли система завершения фиксации. Значение Да указывает системе ждать; Значение No указывает системе выполнять фиксацию асинхронно. Значение по умолчанию — Yes. Значения имеют тип REG_SZ. |
ImplicitCommitSync | Указывает, ожидает ли система завершения фиксации. Значение No указывает системе продолжить работу, не дожидаясь завершения фиксации; Значение Да указывает системе дождаться завершения фиксации. По умолчанию используется значение Нет. Значения имеют тип REG_SZ. |
ExclusiveAsyncDelay | Указывает длительность (в миллисекундах) для отсрочки асинхронного сброса монопольной базы данных. Значение по умолчанию — 2000 или 2 секунды. Значения имеют тип REG_DWORD. |
SharedAsyncDelay | Указывает длительность (в миллисекундах) для отсрочки асинхронного сброса общей базы данных. Значение по умолчанию равно 0. Значения имеют тип REG_DWORD. |
PagesLockedToTableLock | Во время массовых операций часто эффективнее блокировать всю таблицу, а не получать блокировки для каждой отдельной страницы таблицы при попытке доступа к ней. Этот параметр определяет количество страниц, которое ядро СУБД Microsoft Access будет блокировать в любой конкретной транзакции, прежде чем ядро СУБД Access попытается перейти к монопольной блокировке таблицы. Значение по умолчанию 0 указывает, что ядро СУБД Access никогда не будет автоматически меняться с блокировки страниц на блокировку таблицы. |
Примечание.
Этот параметр следует использовать с осторожностью. Если база данных необходима для многопользовательского доступа, блокировка всей таблицы может вызвать конфликты блокировки для других пользователей. Это было бы особенно серьезно, если для этого параметра используется небольшое число. Даже если используется большее число, например 25 или 50, операция для других пользователей может стать непредсказуемой.
Примечание.
При изменении параметров реестра Windows необходимо выйти, а затем перезапустить ядро СУБД, чтобы новые параметры вступили в силу.
См. также
- Форум для разработчиков Access
- Помощь при работе с Access на support.office.com
- Помощь при работе с Access на answers.microsoft.com
- Форумы Access на UtterAccess
- Справочный центр (FMS) для разработки и VBA программирования для Access
- Публикации по Access на StackOverflow
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.