ModuleSubstitution Tablosu
ModuleSubstitution tablosu, modül veritabanının yapılandırılabilir alanlarını belirtir ve her alanın yapılandırması için bir şablon sağlar. Kullanıcı veya birleştirme aracı, hangi yapılandırma işlemlerinin gerçekleştirileceğini belirlemek için bu tabloyu sorgular. Bu tablo hedef veritabanıyla birleştirilmemiş.
Aşağıdaki tablolar yapılandırılabilir alanlar içeremez ve bu tabloda listelenmemelidir:
ModuleSubstitution tablosu
ModuleSubstitution tablosunda aşağıdaki sütunlar bulunur.
Sütun | Tür | Anahtar | Nullable |
---|---|---|---|
Masa | Tanımlayıcı | Y | N |
Sıra | metin | Y | N |
Sütun | Tanımlayıcı | Y | N |
Değer | metin | N | Y |
Sütun
-
Tablosu
-
Bu sütun, modül veritabanında değiştirilen tablonun adını belirtir.
-
Satırı
-
Bu alan, Tablo sütununda adlı tablodaki hedef satırın birincil anahtarlarını belirtir. Birden çok birincil anahtar noktalı virgülle ayrılır. Hedef tabloda herhangi bir değişiklik yapılmadan önce, değişiklik için hedef satırlar seçilir. ModuleSubstitution tablosundaki bir kayıt hedef satırın birincil anahtar alanını değiştirirse, ModuleSubstitution tablosundaki diğer kayıtlar birincil anahtar değiştirmelerinin sonucu değil, özgün birincil anahtar verilerine göre uygulanır. Satır değiştirme sırası tanımlanmamıştır.
Bu sütundaki değerler her zamanCMSM özel biçimindedir. Sabit noktalı virgül (';') veya eşittir işareti ('=') karakterine ters eğik çizgi ön eklenerek eklenebilir. '\'. Bir anahtar için null değer, null değerin tek, ilk, orta veya son anahtar sütun değeri olmasına bağlı olarak null, baştaki noktalı virgül, ardışık iki noktalı virgül veya sondaki noktalı virgülle işaret edilir.
-
Sütunu
-
Bu alan, Satır sütununda adlı satırdaki hedef sütunu belirtir. ModuleSubstitution tablosundaki birden çok satır aynı hedef satırın farklı sütunlarını değiştirirse, değiştirilen satır veritabanına eklenmeden önce tüm sütun değiştirmeleri gerçekleştirilir. Sütun değiştirme sırası tanımlanmamıştır.
-
Değeri
-
Bu sütun Tablo, Satır ve Sütun tarafından belirtilen hedef alanla değiştirilen veriler için biçimlendirme şablonu sağlayan bir dize içerir. [=ItemA] formunun değiştirme dizesiyle karşılaşıldığında, köşeli ayraç karakterleri de dahil olmak üzere dize yapılandırılabilir "ÖğeA" değeriyle değiştirilir. Yapılandırılabilir "ItemA" öğesi, ModuleConfiguration tablosunun Ad sütununda belirtilir ve değeri birleştirme aracı tarafından sağlanır. Birleştirme aracı, değiştirme dizesindeki herhangi bir öğe için değer sağlamayı reddederse ModuleConfiguration Tablosunun DefaultValue sütununda belirtilen varsayılan değerin yerini alır. Bir dize ModuleConfiguration tablosunda olmayan bir öğeye başvuruda bulunursa birleştirme başarısız olur.
- Bu sütun CMSM özel biçimkullanır. Sabit noktalı virgül (';') veya eşittir işareti ('=') karakterin önüne ters eğik çizgi eklenerek tabloya eklenebilir. '\'.
- Değer alanı birden çok değiştirme dizesi içerebilir. Örneğin, "[=Food1] dizesindeki "Food1" ve "Food2" öğelerinin yapılandırması iyidir, ancak [=Gıda2] daha besleyici olduğundan [=Gıda2] daha iyidir."
- Değiştirme dizeleri iç içe yerleştirilmemelidir. "[=AB[=CDE]]" şablonu geçersiz.
- Değer alanı null olarak değerlendirilirse ve hedef alan null değer atanamazsa birleştirme başarısız olur ve msmErrorBadNullSubstitution türünde bir hata nesnesi oluşturulur ve hata listesine eklenir. Ayrıntılar için get_Type İşlevibölümünde açıklanan hata türlerine bakın.
- Değer alanı null GUID: {00000000-0000-0000-0000-000000000000}olarak değerlendirilirse, satır modülle birleştirilmeden önce null GUID özelliğin adıyla değiştirilir. Ayrıntılar için bkz. Birleştirme ModülleriÖzelliklere Başvurma.
- Değer alanındaki şablon, hedef alana eklenmeden önce değerlendirilir. Herhangi bir özellik değiştirilmeden önce satıra değiştirme yapılır.
- Değer sütunu yalnızca tamsayı karakterlerinden oluşan bir dizeye (isteğe bağlı + veya - ile) değerlendirilirse, dize, Tamsayı Biçim Türühedef alanıyla değiştirilmeden önce tamsayıya dönüştürülür. Şablon yalnızca tamsayı karakterlerinden (ve isteğe bağlı + veya -) oluşmayan bir dizeyi değerlendirirse, sonuç tamsayı hedef alanına eklenemez. Tamsayı olmayan bir alana tamsayı ekleme girişimi birleştirmenin başarısız olmasına neden olur ve hata listesine bir msmErrorBadSubstitutionType hata nesnesi ekler.
- Tablo ve Sütun alanlarında belirtilen hedef sütun bir Metin Biçimi Türüise ve Değer alanının değerlendirilmesi Tamsayı Biçim Türüsonuçlanırsa, sayının ondalık gösterimi hedef metin alanına eklenir.
- Hedef alan bir Tamsayı Biçim Türüise ve Değer alanı Bit Alanı Biçimi'ndeki öğelerin sınırlandırılmamış bir listesinden oluşuyorsa, hedef alandaki değer bit tabanlı AND işleci kullanılarak, öğelerdeki tüm maske değerlerinin bit tabanlı VEYA tersi ile birleştirilir, ardından bit düzeyinde OR işlecini, karşılık gelen maske değerleriyle maskelendiğinde tamsayı veya bit alanı öğelerinin her biriyle birlikte kullanarak birleştirilir. Temel olarak, bu özellikteki bitleri açıkça sağlanan değerlere ayarlar, ancak hücredeki diğer tüm bitleri tek başına bırakır.
- Değer alanı birAnahtar Biçimi Türü olarak değerlendirilirse ve birden çok birincil anahtar kullanan bir tablonun anahtarıysa, öğe adının ardından noktalı virgül ve 1 tabanlı dizini birlikte birincil anahtar oluşturan değerler kümesinde gösteren bir tamsayı değeri gelebilir. Tamsayı belirtilmezse, 1 değeri kullanılır. Örneğin, Denetimi tablosu Dialog_ ve Control olarak iki birincil anahtar sütunu vardır. Control tablosunda anahtar olan "Item1" öğesinin değeri "DialogName; ControlName"; burada DialogName Dialog_ tablosundaki değerdir ve ControlName, Control sütunundaki değerdir. Yalnızca ControlName yerine [=Item1) değiştirme dizesinin yerini alır. 2] kullanılmalıdır.
Açıklamalar
ModuleSubstition tablosu, Yapılandırılabilir Birleştirme Modülleritarafından kullanılır. Yapılandırılabilir bir birleştirme modülü oluşturmak için Mergemod.dll sürüm 2.0 veya üzeri gereklidir.
sürüm 2.0'dan önceki Mergemod.dll sürümleriyle uyumluluğu sağlamak için ModuleConfiguration tablosu ve ModuleSubstitution tabloları her modülün moduleIgnoreTable tablosu eklenmelidir.