msiDatabaseImportA 函式 (msiquery.h)

MsiDatabaseImport函式會將安裝程式文字封存檔案匯入開啟的資料庫資料表。

語法

UINT MsiDatabaseImportA(
  [in] MSIHANDLE hDatabase,
  [in] LPCSTR    szFolderPath,
  [in] LPCSTR    szFileName
);

參數

[in] hDatabase

MsiOpenDatabase取得之資料庫的控制碼。

[in] szFolderPath

指定包含封存檔案的資料夾路徑。

[in] szFileName

指定要匯入的檔案名。

傳回值

MsiDatabaseImport函式會傳回下列其中一個值:

備註

當您使用 MsiDatabaseImport 函式將名為 _SummaryInformation 的文字封存資料表匯入安裝程式資料庫時,您會撰寫 「05SummaryInformation」 資料流程。 此資料流程包含標準屬性,可使用 Windows 檔案總管來檢視,並由 COM 定義。 資料表的資料列會以屬性識別碼和對應的資料值組的形式寫入屬性資料流程。 請參閱 摘要資訊資料流程屬性集。 _SummaryInformation的日期和時間格式如下:YYYY/MM/DD hh::mm::ss。 例如,1999/03/22 15:25:45。 如果資料表包含二進位資料流程,資料流程的名稱會位於資料欄位中,而實際資料流程會從與資料表同名的子資料夾中擷取該名稱的檔案。

由 MsiDatabaseExport從資料庫匯出的文字封存檔案,適用于與版本控制系統搭配使用,並不適合用來作為編輯資料的方法。 使用專為該用途而設計的資料庫 API 函式和工具。 請注意,文字封存檔案中的控制字元會轉譯,以避免與檔案分隔符號衝突。 如果文字封存檔案包含非 ASCII 資料,則會以資料的字碼頁戳記,而且只能匯入到該確切字碼頁的資料庫,或匯入中性資料庫。 中性資料庫會設定為匯入檔案的字碼頁。 您可以藉由匯入名為 _ForceCodepage 的虛擬資料表,無條件地將資料庫設定為特定的字碼頁。 這類檔案的格式為:兩個空白行,後面接著包含數值字碼頁、索引標籤分隔符號和確切字串的行:_ForceCodepage

無法從自訂動作呼叫此函式。 從自訂動作呼叫此函式會導致函式失敗。

如果函式失敗,您可以使用 MsiGetLastErrorRecord取得擴充錯誤資訊。

注意

msiquery.h 標頭會將 MsiDatabaseImport 定義為別名,根據 UNICODE 預處理器常數的定義,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程式碼,可能會導致編譯或執行時間錯誤不符。 如需詳細資訊,請參閱 函式原型的慣例

需求

   
最低支援的用戶端 Windows Server 2012、Windows 8、Windows Server 2008 R2 或 Windows 7 上的 Windows Installer 5.0。 Windows Server 2008 或 Windows Vista 上的 Windows Installer 4.0 或 Windows Installer 4.5。 Windows Server 2003 或 Windows XP 上的 Windows Installer
目標平台 Windows
標頭 msiquery.h
程式庫 Msi.lib
Dll Msi.dll

另請參閱

資料庫管理功能

文字封存檔案