JetResizeDatabase 函数
适用于: Windows |Windows Server
JetResizeDatabase 函数扩展或收缩当前打开的数据库的大小。
JetResizeDatabase 函数是在Windows 8操作系统中引入的。
JET_ERR JET_API JetResizeDatabase(
__in JET_SESID sesid,
__in JET_DBID dbid,
__in unsigned long cpg,
__out unsigned long* pcpgActual,
__in const JET_GRBIT grbit
);
parameters
sesid
用于 API 调用的数据库会话上下文。
dbid
要扩展的数据库。
Cpg
请求的数据库大小(以页为单位)。
pcpgActual
指向在 API 调用后接收数据库大小(以页为单位)的数字的指针。 如果 API 调用失败,则 pcpgActual 参数的内容未定义。
grbit
一组位,指定下表中列出的零个或多个值。
值 |
含义 |
---|---|
JET_bitResizeDatabaseOnlyGrow |
仅增长数据库。 如果调整大小调用会收缩数据库,则不执行任何操作。 |
返回值
此函数使用下表中列出的返回代码之一返回 JET_ERR 数据类型。 有关可能的可扩展存储引擎 (ESE) 错误的详细信息,请参阅 可扩展存储引擎错误 和 错误处理参数。
返回代码 |
说明 |
---|---|
JET_errSuccess |
操作已成功完成。 |
JET_errDiskFull |
卷上的可用空间不足,无法执行增长操作。 |
JET_errDiskIO |
JetSetDatabaseSize 函数返回了与文件相关的错误。 有关可能返回的其他文件相关错误的详细信息,请参阅 JetSetDatabaseSize。 |
备注
如果在插入大量数据之前调用 JetResizeDatabase 函数,则数据库文件将在一个操作中增长。 这将降低数据库文件在文件系统级别碎片化的可能性,同时减少数据库文件必须增长的次数。 增加数据库文件一次的速度可能比增加好几次要快。
若要设置未打开的数据库的大小,请参阅 JetSetDatabaseSize。
文件大小可能与 pcpgReal 参数中返回的页数不匹配。 pcpgReal 参数中可能不会计算另外两个保留页。
要求
要求 | 值 |
---|---|
客户端 |
需要Windows 8。 |
服务器 |
需要Windows Server 2012。 |
标头 |
在 Esent.h 中声明。 |
Library |
使用 ESENT.lib。 |
DLL |
需要ESENT.dll。 |
请参阅
JET_ERR
JET_GRBIT
JET_SESID
JET_TABLEID
JET_OBJECTINFO
JET_OBJECTLIST
JetSetDatabaseSize