ICE32

ICE32 überprüft, ob Schlüssel und Fremdschlüssel in der .msi-Datei dieselben Größen- und Spaltendefinitionstypen aufweisen. Diese benutzerdefinierte ICE-Aktion macht den Vergleich mithilfe der _Validation Tabelle und verwendung der Definitionstypen, die von MsiViewGetColumnInfo zurückgegeben werden. Weitere Informationen finden Sie im Spaltendefinitionsformat.

Ergebnis

ICE32 sendet Fehler, wenn die .msi Datei Fremdschlüssel für Schlüssel eines anderen Spaltenlängen- oder Spaltendatentyps enthält.

Beispiel

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

  • Es gibt einen Fremdschlüssel und einen Schlüssel, der sich in der Größe unterscheidet.
  • Es gibt einen Fremdschlüssel und einen Schlüssel, der sich in ihrem Definitionstyp unterscheidet.

_Validation Tabelle (teilweise)

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

 

Spaltendefinitionen (teilweise)

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 zu einer anderen Datei in der Dateitabelle sein. Dies tritt mit Begleitdateien auf. Die Spalte "Version" ermöglicht jedoch nur eine Zeichenfolgenlänge 32, während die Spalte "Datei" eine Zeichenfolgenlänge 72 zulässt. Um diesen Fehler zu beheben, ändern Sie die Zeichenfolgenlängen entsprechend.

Es gibt einen Fremdschlüssel und einen Schlüssel, der sich in ihren Definitionstypen unterscheidet. Spalte8 der Flap-Tabelle wird als Fremdschlüssel für Spalte1 aufgeführt. Spalte8 ist eine Zeichenfolgenspalte und Spalte1 ist eine ganzzahlige Spalte. Die Fremdschlüssel- und Schlüsselpaare müssen definiert werden, damit ihre Datentypen übereinstimmen.

ICE-Referenz