ICE32

ICE32 überprüft, ob Schlüssel und Fremdschlüssel in der .msi datei die gleichen Größen- und Spaltendefinitionstypen haben. Diese benutzerdefinierte ICE-Aktion vergleicht den Vergleich mithilfe der _ Validation-Tabelle und der Definitionstypen, die von MsiViewGetColumnInfo zurückgegeben werden. Weitere Informationen finden Sie unter Spaltendefinitionsformat.

Ergebnis

ICE32 gibt Fehler aus, wenn .msi-Datei Fremdschlüssel für Schlüssel mit einer anderen Spaltenlänge oder einem anderen Spaltendatentyp enthält.

Beispiel

ICE32 veröffentlicht zwei Fehler für das gezeigte Beispiel:

  • Es sind ein Fremdschlüssel und ein Fremdschlüssel definiert, die sich in der Größe unterscheiden.
  • Es sind ein Fremdschlüssel und ein Fremdschlüssel definiert, die sich in ihrem Definitionstyp unterscheiden.

_ Validierungstabelle (partiell)

Tabelle Spalte KeyTable KeyColumn
Datei Version Datei 1
Klappe Column8 Klappe 1

Spaltendefinitionen (partiell)

Tabelle Spalte type Size
Datei Datei s 72
Datei Version E 32
Klappe Column1 i 2
Klappe Column8 E 32

Die Spalte Version der Tabelle Datei kann ein Fremdschlüssel für eine andere Datei in der Tabelle Datei sein. Dies tritt bei Begleitdateien auf. Die Spalte Version lässt jedoch nur eine Zeichenfolgenlänge von 32 zu, während die Spalte Datei eine Zeichenfolgenlänge von 72 zulässt. Um diesen Fehler zu beheben, ändern Sie die Zeichenfolgenlängen, die übereinstimmen.

Es sind ein Fremdschlüssel und ein Fremdschlüssel definiert, die sich in ihren Definitionstypen unterscheiden. Column8 der Flap-Tabelle wird als Fremdschlüssel für Column1 aufgeführt. Column8 ist eine Zeichenfolgenspalte und Column1 eine ganzzahlige Spalte. Die Fremdschlüssel- und Schlüsselpaare müssen so definiert werden, dass ihre Datentypen übereinstimmen.

ICE-Referenz