JetSetDatabaseSize 函式
適用于: Windows |Windows Server
JetSetDatabaseSize 函式
JetSetDatabaseSize函式會設定未開啟的資料庫檔案大小。
JET_ERR JET_API JetSetDatabaseSize(
__in JET_SESID sesid,
__in JET_PCSTR szDatabaseName,
__in unsigned long cpg,
__out unsigned long* pcpgReal
);
參數
sesid
識別要用於 API 呼叫的資料庫會話內容。
szDatabaseName
識別要改變其大小的資料庫檔案名。
Cpg
在頁面中指定資料庫所需的大小。
pcpgReal
在 API 呼叫之後,接收資料庫大小之數位的指標,以頁面為單位。 如果 API 呼叫失敗, 則未定義 pcpgReal 的內容。
傳回值
此函式會傳回具有下列其中一個傳回碼 的JET_ERR 資料類型。 如需可能 ESE 錯誤的詳細資訊,請參閱 可延伸的儲存引擎錯誤 和 錯誤處理參數。
傳回碼 |
Description |
---|---|
JET_errSuccess |
作業已成功完成。 |
JET_errDatabaseInconsistent |
JET_errDatabaseInconsistent和JET_errDatabaseDirtyShutdown是相同的數值。 要調整其大小的資料庫必須處於全新關機狀態,稱為一致狀態。 不一致的資料庫未損毀,但需要重新執行記錄檔。 |
JET_errDatabaseInvalidPath |
szDatabaseName 不能是空的非 Null 字串。 |
JET_errDiskFull |
磁片區上的可用空間不足,無法執行成長作業。 JetSetDatabaseSize 也可能傳回許多檔案相關錯誤,包括但不限於:
|
JET_errInvalidParameter |
可能會傳回此錯誤的其中一個原因是 cpg 符合資料庫大小下限。 目前的最小資料庫大小為 256 頁。 |
JET_errOutOfMemory |
系統記憶體資源不足。 |
備註
如果在插入大量資料之前呼叫 JetSetDatabaseSize ,資料庫檔案將會在一個作業中成長。 這可減少資料庫檔案在檔案系統層級分散的可能性,也減少資料庫檔案必須成長的次數。 一次資料庫檔案的成長速度可能比數倍快。
目前僅支援增加檔案。 若要壓縮檔案,請使用esentutl.exe公用程式程式的重組功能。
如果 cpg 小於資料庫目前的大小,則會忽略作業。 如果 cpg 小於目前 (256 頁) 的資料庫大小下限,則會傳回JET_errInvalidParameter。
若要設定開啟的資料庫大小,請參閱 JetGrowDatabase。
檔案大小可能不符合 pcpgReal中傳回的頁面數目。 pcpgReal中可能有兩個其他保留頁面無法計算。
規格需求
需求 | 值 |
---|---|
用戶端 |
需要 Windows Vista、Windows XP 或 Windows 2000 Professional。 |
Server |
需要 Windows Server 2008、Windows Server 2003 或 Windows 2000 Server。 |
標頭 |
在 Esent.h 中宣告。 |
程式庫 |
使用 ESENT.lib。 |
Dll |
需要ESENT.dll。 |
Unicode |
實作為 JetSetDatabaseSizeW (Unicode) 和 JetSetDatabaseSizeA (ANSI) 。 |
另請參閱
JET_ERR
JET_GRBIT
JET_SESID
JET_TABLEID
JET_OBJECTINFO
JET_OBJECTLIST
JetGrowDatabase