Функция JetGrowDatabase
Применимо к: Windows | Windows Server
Функция JetGrowDatabase
Функция JetGrowDatabase расширяет размер открытой базы данных.
JET_ERR JET_API JetGrowDatabase(
__in JET_SESID sesid,
__in JET_DBID dbid,
__in unsigned long cpg,
__in unsigned long* pcpgReal
);
Параметры
sesid
Контекст сеанса базы данных, используемый для вызова API.
dbid
База данных, которая будет расширена.
Cpg
Требуемый размер базы данных в страницах.
pcpgReal
Указатель на число, которое получает размер базы данных на страницах после вызова API. Если вызов API завершается сбоем, содержимое pcpgReal не определено.
Возвращаемое значение
Эта функция возвращает тип данных JET_ERR с одним из следующих кодов возврата. Дополнительные сведения о возможных ошибках ESE см. в разделах Ошибки подсистемы расширяемого хранилища и Параметры обработки ошибок.
Код возврата |
Описание |
---|---|
JET_errSuccess |
Операция выполнена успешно. |
JET_errDiskFull |
Недостаточно свободного места на томе для выполнения операции увеличения. |
JET_errDiskIO |
JetSetDatabaseSize вернул ошибку, связанную с файлом. Дополнительные сведения о других ошибках, связанных с файлами, которые могут быть возвращены, см. в разделе JetSetDatabaseSize. |
Комментарии
При вызове JetGrowDatabase до вставки больших объемов данных файл базы данных будет увеличен за одну операцию. Это снизит вероятность фрагмента файла базы данных на уровне файловой системы, а также уменьшит количество раз, когда файл базы данных должен быть увеличен. Однократное увеличение файла базы данных может выполняться быстрее, чем несколько раз.
В настоящее время поддерживается только расширение файла. Чтобы сжать файл, используйте функцию дефрагментации служебной программы esentutl.exe .
Сведения о том, как задать размер неоткрытой базы данных, см. в разделе JetSetDatabaseSize.
Размер файла может не совпадать с количеством страниц, возвращаемых в pcpgReal. Существуют две дополнительные зарезервированные страницы, которые могут не учитываться в pcpgReal.
Требования
Требование | Значение |
---|---|
Клиент |
Требуется Windows Vista, Windows XP или Windows 2000 Профессиональная. |
Сервер |
Требуется Windows Server 2008, Windows Server 2003 или Windows 2000 Server. |
Верхняя часть |
Объявлено в Esent.h. |
Библиотека |
Используйте ESENT.lib. |
DLL |
Требуется ESENT.dll. |
См. также:
JET_ERR
JET_GRBIT
JET_SESID
JET_TABLEID
JET_OBJECTINFO
JET_OBJECTLIST
JetSetDatabaseSize