msiquery.h) (MsiDatabaseImportW 函数

MsiDatabaseImport 函数将安装程序文本存档文件导入到打开的数据库表中。

语法

UINT MsiDatabaseImportW(
  [in] MSIHANDLE hDatabase,
  [in] LPCWSTR   szFolderPath,
  [in] LPCWSTR   szFileName
);

parameters

[in] hDatabase

MsiOpenDatabase 获取的数据库的句柄。

[in] szFolderPath

指定包含存档文件的文件夹的路径。

[in] szFileName

指定要导入的文件的名称。

返回值

MsiDatabaseImport 函数返回以下值之一:

注解

使用 MsiDatabaseImport 函数将名为 _SummaryInformation 的文本存档表导入安装程序数据库时,将写入“05SummaryInformation”流。 此流包含可以使用 Windows 资源管理器查看并由 COM 定义的标准属性。 表的行将作为属性 ID 号和相应数据值的对写入属性流。 请参阅 摘要信息流属性集。 _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
Library Msi.lib
DLL Msi.dll

请参阅

数据库管理函数

文本存档文件