Sütun Tanımı Biçimi
MsiViewGetColumnInfo ve View nesnesinin ColumnInfo Özelliği veritabanı sütun tanımlarını açıklamak için aşağıdaki biçimi kullanın. Her sütun, işlev veya özellik tarafından döndürülen ilgili kayıt alanındaki bir dizeyle açıklanır. Tanım dizesi, veri türünü temsil eden tek bir harften ve ardından sütunun genişliğini (varsa, bayt cinsinden) gösterir. Sıfır genişlik, ilişkisiz bir genişlik (örneğin, uzun metin alanları ve akışlar) olarak adlandırılır. Büyük harf, sütunda null değerlere izin verildiğini gösterir.
Sütun tanımlayıcısı | Tanım dizesi |
---|---|
s? | Dize, değişken uzunluğu (?=1-255) |
s0 | Dize, değişken uzunluğu |
i2 | Kısa tamsayı |
i4 | Uzun tamsayı |
v0 | İkili Akış |
g? | Geçici dize (?=0-255) |
j? | Geçici tamsayı (?=0,1,2,4) |
O0 | Geçici nesne |
Sütunları açıklamak için kullanılan dizeler, CREATE ve ALTER tarafından kullanılan SQL sorgu dizeleriyle aşağıdaki ilişkiye sahiptir. Daha fazla bilgi için bkz. sql sözdizimi .
Döndürülen değer | SQL söz dizimi |
---|---|
s0 | LONGCHAR |
l0 | LONGCHAR LOCALIZABLE |
s # | CHAR(#) |
s # | KARAKTER(#) |
l # | CHAR(#) LOCALIZABLE |
l # | CHARACTER(#) LOCALIZABLE |
i2 | KISA |
i2 | INT |
i2 | TAM SAYI |
i4 | UZUN |
v0 | NESNE |
Harf büyük harfe dönüştürülmezse, SQL deyimi NOT NULL ile eklenmelidir.
Döndürülen değer | SQL söz dizimi |
---|---|
s0 | LONGCHAR NOT NULL |
Yükleyici, sütunların uzunluğunu dahili olarak sütun tanımı biçimi tarafından belirtilen değerle sınırlamaz. Bir alana girilen veriler belirtilen sütun uzunluğunu aşarsa, paket paket doğrulamasınıgeçiremezse. Bu durumda doğrulamayı geçirmek için verilerin veya veritabanı şemasının değiştirilmesi gerekir. Standart tablonun sütun uzunluğunu değiştirmenin tek anlamı, tabloyu MsiDatabaseExportkullanarak dışarı aktarmak, dışarı aktarılan .idt dosyasını düzenlemek ve ardından MsiDatabaseImportkullanarak tabloyu içeri aktarmaktır. Yazarlar standart tablolardaki sütunların sütun veri türlerini, null atanabilirliğini veya yerelleştirme özniteliklerini değiştiremez. Yazarlar, sütun özniteliklerine sahip sütunlar içeren özel tablolar oluşturabilir.
Bir başvuru veritabanını hedef veritabanıyla birleştirmek için MsiDatabaseMerge kullanırken, sütun adları, birincil anahtar sayısı ve sütun veri türleri eşleşmelidir. MsiDatabaseMerge yerelleştirme ve sütun uzunluğu özniteliklerini yoksayar. Başvuru veritabanındaki bir sütunun uzunluğu hedef veritabanındaki sütunun uzunluğundan 0 veya daha büyükse, MsiDatabaseMerge hedef veritabanındaki sütun uzunluğunu başvuru veritabanındaki uzunluğa artırır.
Mergmod.dll sürüm 2.0 kullanırken, birleştirme modülünün .msi bir dosyaya uygulanması hiçbir zaman mevcut veritabanı tablosunun sütun uzunluğunu veya sütun türlerini değiştirmez. Ancak, modül sütun eklemek için geçerli olduğu bir tabloya yeni sütunlar eklerse, birleştirme modülünün uygulaması var olan bir veritabanı tablosunun şemasını değiştirebilir. Sürüm 2.0'dan küçük bir Mergemod.dll sürümü kullanıldığında, birleştirme modülünün uygulaması hiçbir zaman sütunların uzunluğunu ve hedef veritabanının şemasını hiçbir zaman değiştirmez.