Поделиться через


ICE32

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

Результат

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

Пример

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

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

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

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

 

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

Стол Столбец Тип Размер
Файл Файл s 72
Файл Версия S 32
Клапан Столбец1 я 2
Клапан Столбец8 S 32

 

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

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

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