Database.ApplyTransform 方法

Database 对象的 ApplyTransform 方法将转换应用于此数据库。

语法

Database.ApplyTransform(
  storage,
  errorConditions
)

参数

storage

要应用的转换文件的路径。 此参数是必需的。

errorConditions

指定要禁止的错误条件。 指定为以下整数值的组合。

添加状态 含义
msiTransformErrorAddExistingRow
0x0001
添加已存在的行。
msiTransformErrorDeleteNonExistingRow
0x0002
删除不存在的行。
msiTransformErrorAddExistingTable
0x0004
添加已存在的表。
msiTransformErrorDeleteNonExistingTable
0x0008
删除不存在的表。
msiTransformErrorUpdateNonExistingRow
0x0010
更新不存在的行。
msiTransformErrorChangeCodePage
0x0020
转换和数据库代码页不匹配,两者都没有中性代码页。
msiTransformErrorViewTransform
0x0100
创建临时的 _TransformView 表

返回值

此方法不返回值。

备注

ApplyTransform 方法将转换表延迟到可能的最后一刻。 ApplyTransform 中执行的步骤是立即转换数据库的表和列目录。 表和列目录根据添加或删除的表以及添加的列(不允许删除列)进行更新。 如果表当前加载在内存中并且需要转换,则对其进行转换。 否则,将表状态设置为需要转换,以便在加载表或提交数据库时应用转换。 此实例中的转换意味着添加、删除或更新了表的实际(行)数据。

如果该方法失败,可以使用 LastErrorRecord 方法获取扩展的错误信息。

要求

要求
版本
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
DLL
Msi.dll
IID
IID_IDatabase 定义为 000C109D-0000-0000-C000-000000000046

另请参阅

数据库

数据库转换