共用方式為


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_errDatabaseDirtyShutdown

JET_errDatabaseInconsistent和JET_errDatabaseDirtyShutdown是相同的數值。 要調整其大小的資料庫必須處於全新關機狀態,稱為一致狀態。 不一致的資料庫未損毀,但需要重新執行記錄檔。

JET_errDatabaseInvalidPath

szDatabaseName 不能是空的非 Null 字串。

JET_errDiskFull

磁片區上的可用空間不足,無法執行成長作業。 JetSetDatabaseSize 也可能傳回許多檔案相關錯誤,包括但不限於:

  • JET_errDiskIO

  • JET_errFileNotFound

  • JET_errInvalidPath

  • JET_errFileAccessDenied

  • JET_errOutOfFileHandles

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