ICE32
ICE32, .msi dosyasındaki anahtarların ve yabancı anahtarların aynı boyutta ve sütun tanımı türlerinde olduğunu doğrular. Bu ICE özel eylemi, karşılaştırmayı _Validation tablosunu ve MsiViewGetColumnInfotarafından döndürülen tanım türlerini kullanarak yapar. Daha fazla bilgi için bkz. Sütun Tanımı Biçimi.
Sonuç
ICE32, .msi dosyasında farklı bir sütun uzunluğuna veya sütun veri türüne sahip anahtarların yabancı anahtarları varsa hataları postalar.
Örnek
ICE32, gösterilen örnek için iki hata göndermiştir:
- Boyut bakımından farklı bir yabancı anahtar ve anahtar tanımlanmıştır.
- Tanım türünden farklı bir yabancı anahtar ve anahtar tanımlanmıştır.
_Validation Tablo (kısmi)
Masa | Sütun | KeyTable | KeyColumn |
---|---|---|---|
Dosya | Sürüm | Dosya | 1 |
Flep | Sütun8 | Flep | 1 |
Sütun Tanımları (kısmi)
Masa | Sütun | Tür | Boyut |
---|---|---|---|
Dosya | Dosya | s | 72 |
Dosya | Sürüm | S | 32 |
Flep | Sütun1 | ben | 2 |
Flep | Sütun8 | S | 32 |
Dosya tablosunun Sürüm sütunu, Dosya tablosundaki başka bir dosyanın yabancı anahtarı olabilir. Bu, yardımcı dosyalarda oluşur. Ancak Sürüm sütunu yalnızca 32 dize uzunluğuna izin verirken, Dosya sütunu 72 dize uzunluğuna izin verir. Bu hatayı düzeltmek için dize uzunluklarını eşleşecek şekilde değiştirin.
Tanım türlerinde farklılık gösteren bir yabancı anahtar ve anahtar tanımlanmıştır. Flap Tablosunun Sütun8'i Sütun1'e yabancı anahtar olarak listelenir. Sütun8 bir dize sütunudur ve Sütun1 bir tamsayı sütunudur. Yabancı anahtar ve anahtar çiftleri, veri türlerinin eşleşmesi için tanımlanmalıdır.
İlgili konular