ICE32
ICE32 valida que las claves y las claves externas del archivo .msi son de los mismos tipos de definición de columna y tamaño. Esta acción personalizada de ICE realiza la comparación mediante la tabla _Validation y con los tipos de definición que devuelve MsiViewGetColumnInfo. Para obtener más información, vea Formato de definición de columnas.
ICE32 publica errores si el archivo .msi contiene claves externas a las claves de un tipo de datos de columna o de longitud de columna diferente.
ICE32 publica dos errores para el ejemplo que se muestra:
- Hay una clave externa y una clave definidas cuyo tamaño es distinto.
- Hay una clave externa y una clave definidas cuyo tipo de definición es distinto.
Tabla _Validation (parcial)
Tabla | Columna | KeyTable | KeyColumn |
---|---|---|---|
Archivo | Version | Archivo | 1 |
Flap | Column8 | Flap | 1 |
Definiciones de columna (parcial)
Tabla | Columna | Tipo | Size |
---|---|---|---|
Archivo | Archivo | s | 72 |
Archivo | Versión | S | 32 |
Flap | Columna1 | i | 2 |
Flap | Column8 | S | 32 |
La columna Version de la tabla File puede ser una clave externa a otro archivo de la tabla File. Esto ocurre con archivos complementarios. Pero la columna Version solo permite una longitud de cadena de 32, mientras que la columna File permite una longitud de cadena de 72. Para corregir este error, cambie las longitudes de cadena para que coincidan.
Hay una clave externa y una clave definidas cuyo tipo de definición es distinto. Column8 de la tabla Flap se muestra como una clave externa a Column1. Column8 es una columna de cadena y Column1 es una columna de entero. La clave externa y los pares de claves deben definirse para que sus tipos de datos coincidan.