Freigeben über


ICE32

ICE32 überprüft, ob Schlüssel und Fremdschlüssel in der .msi Datei dieselben Größen- und Spaltendefinitionstypen aufweisen. Mit dieser benutzerdefinierten ICE-Aktion wird der Vergleich mithilfe der _Validation Tabelle und mithilfe der Definitionstypen ausgeführt, die von MsiViewGetColumnInfozurückgegeben werden. Weitere Informationen finden Sie unter 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 postet zwei Fehler für das gezeigte Beispiel:

  • Es ist ein Fremdschlüssel und ein Schlüssel definiert, der sich in der Größe unterscheidet.
  • Es ist ein Fremdschlüssel und ein Schlüssel definiert, der sich in ihrem Definitionstyp unterscheidet.

_Validation Table (teilweise)

Tisch Spalte KeyTable KeyColumn
Datei Version Datei 1
Klappe Spalte8 Klappe 1

 

Spaltendefinitionen (teilweise)

Tisch Spalte Art Größe
Datei Datei s 72
Datei Version S 32
Klappe Spalte1 Ich 2
Klappe Spalte8 S 32

 

Die Spalte "Version" der Dateitabelle kann ein Fremdschlüssel zu einer anderen Datei in der Dateitabelle sein. Dies geschieht mit Begleitdateien. Die Spalte "Version" lässt jedoch nur eine Zeichenfolgenlänge 32 zu, während die Dateispalte eine Zeichenfolgenlänge 72 zulässt. Um diesen Fehler zu beheben, ändern Sie die Zeichenfolgenlängen entsprechend.

Es ist ein Fremdschlüssel und ein Schlüssel definiert, 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 Reference