ICE32

ICE32 проверяет, что ключи и внешние ключи в файле .msi имеют одинаковый размер и типы определений столбцов. Это настраиваемое действие ICE выполняет сравнение с помощью таблицы _Validation и типов определений, возвращаемых MsiViewGetColumnInfo. Дополнительные сведения см. в разделе Формат определения столбца.

Результат

ICE32 публикует ошибки, если файл .msi содержит какие-либо внешние ключи к ключам другой длины столбца или типа данных столбца.

Пример

ICE32 публикует две ошибки в приведенном примере:

  • Существует внешний ключ и ключ, которые различаются по размеру.
  • Есть внешний ключ и ключ, которые отличаются по типу определения.

Таблица _Validation (частичная)

Таблица Столбец KeyTable KeyColumn
File Версия Файл 1
Клапаном Column8 Клапаном 1

 

Определения столбцов (частичные)

Таблица Столбец Тип Размер
File File s 72
File Версия S 32
Клапаном Column1 i 2
Клапаном Column8 S 32

 

Столбец Версия таблицы Файл может быть внешним ключом к другому файлу в таблице File. Это происходит с сопутствующими файлами. Однако столбец Версия допускает только длину строки 32, а столбец Файл — длину строки 72. Чтобы устранить эту ошибку, измените длину строки на соответствие.

Есть внешний ключ и ключ, которые различаются по типам определений. Столбец 8 таблицы Flap указан как внешний ключ к Column1. Column8 — это строковый столбец, а Column1 — целочисленный столбец. Пары внешних ключей и ключей должны быть определены таким образом, чтобы их типы данных совпадали.

Справочник по ICE