ICE32

ICE32 vérifie que les clés et clés étrangères dans le fichier .msi sont de la même taille et des mêmes types de définition de colonne. Cette action personnalisée d’ICE effectue la comparaison à l’aide de la table _Validation et des types de définition retournés par MsiViewGetColumnInfo. Pour plus d’informations, consultez Format de définition de colonne.

Résultats

ICE32 publie des erreurs si le fichier .msi contient des clés étrangères pour des clés d’une longueur de colonne ou d’un type de données de colonne différent.

Exemple

ICE32 publie deux erreurs pour l’exemple illustré :

  • Il existe une clé et une clé étrangères définies qui diffèrent par leur taille.
  • Il existe une clé et une clé étrangères définies qui diffèrent par leur type de définition.

table _Validation (partielle)

Table de charge de travail Colonne KeyTable KeyColumn
Fichier Version Fichier 1
Flap Colonne8 Flap 1

 

Définitions de colonnes (partielles)

Table de charge de travail Colonne Type Taille
Fichier Fichier s 72
Fichier Version S 32
Flap Column1 i 2
Flap Colonne8 S 32

 

La colonne Version de la table File peut être une clé étrangère d’un autre fichier de la table File. Cela se produit avec les fichiers complémentaires. Toutefois, la colonne Version autorise uniquement une longueur de chaîne de 32, tandis que la colonne File autorise une longueur de chaîne de 72. Pour corriger cette erreur, modifiez les longueurs de chaîne pour qu’elles correspondent.

Il existe une clé et une clé étrangères définies qui diffèrent par leurs types de définition. Column8 de la table Flap est répertoriée en tant que clé étrangère de Column1. Column8 est une colonne de chaîne et Column1 est une colonne entière. Les paires de clés et de clés étrangères doivent être définies pour que leurs types de données correspondent.

Référence ICE