ICE32
ICE32 sprawdza, czy klucze i klucze obce w pliku .msi mają ten sam rozmiar i typy definicji kolumn. Ta akcja niestandardowa ICE sprawia, że porównanie przy użyciu tabeli _Validation i używania typów definicji zwracanych przez MsiViewGetColumnInfo. Aby uzyskać więcej informacji, zobacz Format definicji kolumny.
Wynik
ICE32 publikuje błędy, jeśli plik .msi zawiera klucze obce do kluczy o innej długości kolumny lub typie danych kolumny.
Przykład
ICE32 publikuje dwa błędy dla pokazanego przykładu:
- Istnieje klucz obcy i zdefiniowany klucz, który różni się w zależności od rozmiaru.
- Istnieje klucz obcy i zdefiniowany klucz, który różni się w zależności od typu definicji.
_Validation tabeli (częściowa)
Stół | Kolumna | Tabela kluczy | Kolumna kluczy |
---|---|---|---|
Plik | Wersja | Plik | 1 |
Klapa | Kolumna8 | Klapa | 1 |
Definicje kolumn (częściowe)
Stół | Kolumna | Typ | Rozmiar |
---|---|---|---|
Plik | Plik | s | 72 |
Plik | Wersja | S | 32 |
Klapa | Kolumna1 | ja | 2 |
Klapa | Kolumna8 | S | 32 |
Kolumna Wersja tabeli Plik może być kluczem obcym do innego pliku w tabeli Plik. Dzieje się tak z plikami towarzyszącymi. Jednak kolumna Wersja zezwala tylko na długość ciągu 32, natomiast kolumna File (Plik) zezwala na długość ciągu 72. Aby naprawić ten błąd, zmień długości ciągów tak, aby pasły.
Zdefiniowano klucz obcy i klucz, który różni się w zależności od ich typów definicji. Kolumna8 tabeli flap jest wyświetlana jako klucz obcy kolumny Column1. Column8 to kolumna ciągu, a kolumna Column1 jest kolumną całkowitą. Pary klucza obcego i klucza muszą być zdefiniowane tak, aby ich typy danych odpowiadały.
Tematy pokrewne