Partilhar via


ICE32

ICE32 valida que chaves e chaves estrangeiras no arquivo .msi são do mesmo tamanho e tipos de definição de coluna. Essa ação personalizada ICE faz a comparação usando a tabela _Validation e usando os tipos de definição retornados por MsiViewGetColumnInfo. Para obter mais informações, consulte Column Definition Format.

Resultado

O ICE32 lança erros se o arquivo .msi contiver chaves estrangeiras para chaves de um comprimento de coluna ou tipo de dados de coluna diferente.

Exemplo

ICE32 posta dois erros para o exemplo mostrado:

  • Há uma chave estrangeira e uma chave definida que diferem em tamanho.
  • Há uma chave estrangeira e uma chave definida que diferem em seu tipo de definição.

_Validation Tabela (parcial)

Tabela Coluna Tabela de teclas Coluna-chave
Ficheiro Versão Ficheiro 1
Retalho Coluna8 Retalho 1

 

Definições de coluna (parcial)

Tabela Coluna Tipo Tamanho
Ficheiro Ficheiro s 72
Ficheiro Versão S 32
Retalho Coluna1 eu 2
Retalho Coluna8 S 32

 

A coluna Versão da tabela Arquivo pode ser uma chave estrangeira para outro arquivo na tabela Arquivo. Isso ocorre com arquivos complementares. No entanto, a coluna Versão só permite um comprimento de cadeia de caracteres 32, enquanto a coluna Arquivo 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 definida que diferem em seus tipos de definição. A coluna 8 da tabela Flap é listada como uma chave estrangeira para a coluna 1. Column8 é uma coluna de cadeia de caracteres e Column1 é uma coluna inteira. A chave estrangeira e os pares de chaves devem ser definidos para que seus tipos de dados coincidam.

de referência ICE