ICE32
ICE32 überprüft, ob Schlüssel und Fremdschlüssel in der MSI-Datei dieselbe Größe und dieselben Spaltendefinitionstypen aufweisen. Diese benutzerdefinierte ICE-Aktion führt den Vergleich mit der Tabelle „_Validation“ durch und verwendet dabei die Definitionstypen, die von MsiViewGetColumnInfo zurückgegeben werden. Weitere Informationen finden Sie unter Spaltendefinitionsformat.
Ergebnis
ICE32 meldet Fehler, wenn die MSI-Datei Fremdschlüssel für Schlüssel mit einer anderen Spaltenlänge oder einem anderen Spaltendatentyp enthält.
Beispiel
Für das gezeigte Beispiel meldet ICE32 zwei Fehler:
- Ein Fremdschlüssel und ein Schlüssel sind definiert, die eine unterschiedliche Größe aufweisen.
- Ein Fremdschlüssel und ein Schlüssel sind definiert, die einen unterschiedlichen Definitionstyp aufweisen.
Tabelle „_Validation“ (teilweise)
Tabelle | Spalte | KeyTable | KeyColumn |
---|---|---|---|
Datei | Version | Datei | 1 |
Flap | Column8 | Flap | 1 |
Spaltendefinitionen (teilweise)
Tabelle | Spalte | type | Size |
---|---|---|---|
Datei | Datei | s | 72 |
Datei | Version | E | 32 |
Flap | Column1 | i | 2 |
Flap | Column8 | E | 32 |
Die Spalte „Version“ der Tabelle „File“ kann ein Fremdschlüssel für eine andere Datei in der Tabelle „File“ sein. Dies geschieht bei Begleitdateien. In der Spalte „Version“ darf die Zeichenfolge allerdings nur 32 Zeichen umfassen, in der Spalte „File“ dagegen 72 Zeichen. Um diesen Fehler zu beheben, ändern Sie die Länge der Zeichenfolge entsprechend.
Ein Fremdschlüssel und ein Schlüssel sind definiert, die einen unterschiedlichen Definitionstyp aufweisen. Spalte 8 der Tabelle „Flap“ wird als Fremdschlüssel für Spalte 1 aufgeführt. Spalte 8 ist eine Zeichenfolgenspalte, und Spalte 1 ist eine Ganzzahlspalte. Die Fremdschlüssel- und Schlüsselpaare müssen so definiert werden, dass ihre Datentypen übereinstimmen.
Zugehörige Themen