ICE32
O ICE32 valida se as chaves e chaves estrangeiras no arquivo .msi são do mesmo tamanho e tipos de definição de coluna. Essa ação personalizada do ICE faz a comparação usando a tabela _Validation e usando os tipos de definição retornados por MsiViewGetColumnInfo. Para saber mais, confira Formato de definição de coluna.
O ICE32 postará erros se o arquivo .msi contiver chaves estrangeiras para chaves de um tipo de dados de coluna ou tamanho de coluna diferente.
O ICE32 posta dois erros para o exemplo mostrado:
- Há uma chave estrangeira e uma chave definidas que diferem em tamanho.
- Há uma chave estrangeira e uma chave definidas que diferem em seu tipo de definição.
Tabela _Validation (parcial)
Tabela | Coluna | KeyTable | KeyColumn |
---|---|---|---|
Arquivo | Versão | Arquivo | 1 |
Flap | Coluna8 | Flap | 1 |
Definições de coluna (parcial)
Tabela | Coluna | Tipo | Tamanho |
---|---|---|---|
Arquivo | Arquivo | s | 72 |
Arquivo | Versão | S | 32 |
Flap | Column1 | i | 2 |
Flap | Coluna8 | S | 32 |
A coluna Version da tabela File pode ser uma chave estrangeira para outro arquivo na tabela Arquivo. Isso ocorre com arquivos complementares. No entanto, a coluna Version permite apenas um comprimento de cadeia de caracteres 32, enquanto a coluna File permite um comprimento de cadeia de caracteres 72. Para corrigir esse erro, altere os comprimentos da cadeia de caracteres para corresponder.
Há uma chave estrangeira e uma chave definidas que diferem em seus tipos de definição. A Coluna8 da Tabela Flap é listada como uma chave estrangeira para Column1. Column8 é uma coluna de cadeia de caracteres e Column1 é uma coluna de inteiro. Os pares chave estrangeira e chave devem ser definidos para que seus tipos de dados correspondam.