ICE32
ICE32 验证 .msi 文件中的键和外键的大小和列定义类型是否相同。 此 ICE 自定义作使用 _Validation 表 和使用 MsiViewGetColumnInfo返回的定义类型进行比较。 有关详细信息,请参阅 列定义格式。
结果
如果 .msi 文件包含其他列长度或列数据类型的键的任何外键,则 ICE32 会发布错误。
例
ICE32 发布了两个所示示例的错误:
- 定义了大小不同的外键和键。
- 定义外键和键的定义类型有所不同。
_Validation 表(部分)
桌子 | 列 | KeyTable | KeyColumn |
---|---|---|---|
文件 | 版本 | 文件 | 1 |
皮 瓣 | Column8 | 皮 瓣 | 1 |
列定义(部分)
桌子 | 列 | 类型 | 大小 |
---|---|---|---|
文件 | 文件 | s | 72 |
文件 | 版本 | S | 32 |
皮 瓣 | Column1 | 我 | 2 |
皮 瓣 | Column8 | S | 32 |
文件表的版本列可以是文件表中另一个文件的外键。 这与配套文件一起发生。 但是,“版本”列仅允许字符串长度 32,而“文件”列允许字符串长度为 72。 若要修复此错误,请更改要匹配的字符串长度。
定义外键和键的定义类型有所不同。 Flap 表的 Column8 列为 Column1 的外键。 Column8 是字符串列,Column1 是整数列。 必须定义外键和键对,使其数据类型匹配。
相关主题