ICE32
ICE32 valideert dat sleutels en refererende sleutels in het bestand .msi dezelfde grootte en kolomdefinitietypen hebben. Deze aangepaste ICE-actie maakt de vergelijking met behulp van de _Validation tabel en het gebruik van de definitietypen die worden geretourneerd door MsiViewGetColumnInfo. Zie kolomdefinitieindelingvoor meer informatie.
Resultaat
ICE32 plaatst fouten als het .msi bestand refererende sleutels bevat voor sleutels van een andere kolomlengte of kolomgegevenstype.
Voorbeeld
ICE32 plaatst twee fouten voor het weergegeven voorbeeld:
- Er is een refererende sleutel en sleutel gedefinieerd die verschillen in grootte.
- Er is een refererende sleutel en sleutel gedefinieerd die verschillen in het definitietype.
_Validation Tabel (gedeeltelijk)
Tafel | Kolom | KeyTable | KeyColumn |
---|---|---|---|
Bestand | Versie | Bestand | 1 |
Flap | Kolom8 | Flap | 1 |
Kolomdefinities (gedeeltelijk)
Tafel | Kolom | Type | Grootte |
---|---|---|---|
Bestand | Bestand | s | 72 |
Bestand | Versie | S | 32 |
Flap | Kolom1 | Ik | 2 |
Flap | Kolom8 | S | 32 |
De kolom Versie van de tabel Bestand kan een refererende sleutel zijn voor een ander bestand in de tabel Bestand. Dit gebeurt met begeleidende bestanden. De kolom Versie staat echter alleen een tekenreekslengte 32 toe, terwijl de kolom Bestand een tekenreekslengte 72 toestaat. Als u deze fout wilt oplossen, wijzigt u de tekenreekslengten die overeenkomen.
Er is een refererende sleutel en sleutel gedefinieerd die verschillen in de definitietypen. Kolom8 van de Flap-tabel wordt vermeld als een refererende sleutel voor Kolom1. Column8 is een tekenreekskolom en Kolom1 is een geheel getalkolom. De refererende sleutel en sleutelparen moeten worden gedefinieerd, zodat hun gegevenstypen overeenkomen.
Verwante onderwerpen