ICE32
ICE32 ověří, že klíče a cizí klíče v souboru .msi mají stejnou velikost a typy definic sloupců. Tato vlastní akce ICE provádí porovnání pomocí tabulky _Validation a použití typů definic vrácených MsiViewGetColumnInfo. Další informace naleznete v tématu formát definice sloupce.
Výsledek
ICE32 publikuje chyby, pokud soubor .msi obsahuje jakékoli cizí klíče ke klíčům jiné délky sloupce nebo datového typu sloupce.
Příklad
ICE32 publikuje dvě chyby pro uvedený příklad:
- Je definován cizí klíč a klíč, který se liší velikostí.
- Je definován cizí klíč a klíč, který se liší v jejich typu definice.
tabulky _Validation (částečné)
Stůl | Sloupec | KeyTable | KeyColumn |
---|---|---|---|
Soubor | Verze | Soubor | 1 |
Klapka | Sloupec 8 | Klapka | 1 |
Definice sloupců (částečné)
Stůl | Sloupec | Typ | Velikost |
---|---|---|---|
Soubor | Soubor | s | 72 |
Soubor | Verze | S | 32 |
Klapka | Sloupec 1 | já | 2 |
Klapka | Sloupec 8 | S | 32 |
Sloupec Verze tabulky File může být cizím klíčem k jinému souboru v tabulce Soubor. K tomu dochází u doprovodných souborů. Sloupec Verze ale umožňuje pouze délku řetězce 32, zatímco sloupec Soubor umožňuje délku řetězce 72. Chcete-li tuto chybu opravit, změňte délku řetězce tak, aby odpovídala.
Je definován cizí klíč a klíč, který se liší v jejich typech definic. Sloupec 8 tabulky Flap je uveden jako cizí klíč sloupce Column1. Sloupec 8 je sloupec řetězce a Sloupec1 je celočíselná hodnota. Páry cizího klíče a klíče musí být definovány tak, aby se jejich datové typy shodovaly.
Související témata
-
referenční ICE