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 定义。 表的行作为属性 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
目标平台 窗户
标头 msiquery.h
Msi.lib
DLL Msi.dll

另请参阅

数据库管理功能

文本文件存档文件