Udostępnij za pośrednictwem


ModuleSubstitution Table

Tabela ModuleSubstitution określa konfigurowalne pola bazy danych modułu i zawiera szablon konfiguracji każdego pola. Użytkownik lub narzędzie scalania może wykonać zapytanie względem tej tabeli, aby określić, jakie operacje konfiguracji mają być wykonywane. Ta tabela nie jest scalona z docelową bazą danych.

Poniższe tabele nie mogą zawierać konfigurowalnych pól i nie mogą być wymienione w tej tabeli:

Tabela moduleSubstitution

tabeli ModuleConfiguration

tabeli ModuleExclusion

tabeli ModuleSignature

Tabela ModuleSubstitution zawiera następujące kolumny.

Kolumna Typ Klucz Nullable
Stół identyfikator Y N
Szereg tekstu Y N
Kolumna identyfikator Y N
Wartość tekstu N Y

 

Kolumny

tabela

Ta kolumna określa nazwę tabeli modyfikowanej w bazie danych modułu.

wiersz

To pole określa klucze podstawowe wiersza docelowego w tabeli o nazwie w kolumnie Tabela. Wiele kluczy podstawowych jest rozdzielonych średnikami. Wiersze docelowe są wybierane do modyfikacji przed wprowadzeniem jakichkolwiek zmian w tabeli docelowej. Jeśli jeden rekord w tabeli ModuleSubstitution zmieni pole klucza podstawowego wiersza docelowego, inne rekordy w tabeli ModuleSubstitution są stosowane na podstawie oryginalnych danych klucza podstawowego, a nie wynikowe podstawianie klucza podstawowego. Kolejność podstawiania wierszy jest niezdefiniowana.

Wartości w tej kolumnie są zawsze w formacie specjalnym CMSM. Średnik literału (';') lub znak równości ('=') można dodać, prefiksując znak z ukośnikiem odwrotnym. '\'. Wartość null klucza jest oznaczona wartością null, średnikiem wiodącym, dwoma kolejnymi średnikami lub średnikiem końcowym, w zależności od tego, czy wartość null jest jedyną, pierwszą, środkową lub końcową wartością kolumny klucza.

kolumna

To pole określa kolumnę docelową w wierszu o nazwie w kolumnie Wiersz. Jeśli wiele wierszy w tabeli ModuleSubstitution zmienia różne kolumny tego samego wiersza docelowego, wszystkie podstawienia kolumn są wykonywane przed wstawieniem zmodyfikowanego wiersza do bazy danych. Kolejność podstawienia kolumn jest niezdefiniowana.

wartość

Ta kolumna zawiera ciąg, który zawiera szablon formatowania danych, które są zastępowane w polu docelowym określonym przez tabelę, wiersz i kolumnę. Gdy napotkano ciąg podstawienia formularza [=ItemA], ciąg, w tym znaki nawiasu, jest zastępowany przez wartość konfigurowalnego elementu "ItemA". Konfigurowalny element "ItemA" jest określony w kolumnie Nazwa tabeli ModuleConfiguration, a jego wartość jest dostarczana przez narzędzie scalania. Jeśli narzędzie scalania odmówi podania wartości dla dowolnego elementu w ciągu zastępczym, wartość domyślna określona w kolumnie DefaultValue tabeli ModuleConfiguration zostanie zastąpiona. Jeśli ciąg odwołuje się do elementu, który nie występuje w tabeli ModuleConfiguration, scalanie kończy się niepowodzeniem.

  • Ta kolumna używa specjalnego formatu cmSM . Średnik literału (';') lub znak równości ('=') można dodać do tabeli, prefiksując znak z ukośnikiem odwrotnym. '\'.
  • Pole Wartość może zawierać wiele ciągów podstawienia. Na przykład konfiguracja elementów "Food1" i "Food2" w ciągu: "[=Food1] jest dobra, ale [=Food2] jest lepsza, ponieważ [=Food2] jest bardziej pożywna."
  • Ciągi zastępcze nie mogą być zagnieżdżone. Szablon "[=AB[=CDE]]" jest nieprawidłowy.
  • Jeśli pole Wartość ma wartość null, a pole docelowe nie może mieć wartości null, scalanie kończy się niepowodzeniem i obiektem błędu typu msmErrorBadNullSubstitution zostanie utworzony i dodany do listy błędów. Aby uzyskać szczegółowe informacje, zobacz typy błędów opisane w temacie get_Type Function.
  • Jeśli pole Wartość zwróci wartość null identyfikatora GUID: {00000000-0000-0000-0000-000000000000}, identyfikator GUID o wartości null zostanie zastąpiony nazwą funkcji przed scaleniem wiersza z modułem. Aby uzyskać szczegółowe informacje, zobacz odwoływanie się do funkcji w module scalania.
  • Szablon w polu Wartość jest obliczany przed wstawieniem do pola docelowego. Podstawianie do wiersza jest wykonywane przed zastąpieniem wszystkich funkcji.
  • Jeśli kolumna Value zwraca wartość do ciągu tylko znaków całkowitych (z opcjonalnym znakiem + lub -), ciąg zostanie przekonwertowany na liczbę całkowitą przed zastąpieniem w polu docelowym typu formatu liczby całkowitej . Jeśli szablon oblicza ciąg, który nie zawiera tylko znaków całkowitych (i opcjonalny + lub -), wynik nie może zostać zastąpiony polem docelowym liczby całkowitej. Próba wstawienia liczby innej niż liczba całkowita do pola całkowitego powoduje niepowodzenie scalania i dodanie obiektu błędu msmErrorBadSubstitutionType do listy błędów.
  • Jeśli kolumna docelowa określona w polach Tabela i Kolumna to Typ formatu tekstowego, a ocena pola Wartość powoduje typ formatu liczby całkowitej, do pola tekstowego docelowego zostanie wstawiona reprezentacja dziesiętna liczby.
  • Jeśli polem docelowym jest typ formatu liczby całkowitej, a pole Wartość składa się z nienależącej do listy elementów w Format pola bitowego, wartość w polu docelowym jest łączona przy użyciu operatora bitowego i z odwrotnością bitowej LUB wszystkich wartości maski z elementów, następnie połączone przy użyciu operatora bitowego OR z każdą liczbą całkowitą lub elementy pola bitowego, gdy są maskowane przez odpowiadające im wartości maski. Zasadniczo jawnie ustawia bity z właściwości na podane wartości, ale pozostawia wszystkie inne bity w komórce sam.
  • Jeśli pole Wartość daje w wyniku typ formatu klucza, i jest kluczem w tabeli, która używa wielu kluczy podstawowych, nazwa elementu może być po nim średnik i wartość całkowita wskazująca indeks oparty na 1 w zestawie wartości, które razem tworzą klucz podstawowy. Jeśli nie określono liczby całkowitej, zostanie użyta wartość 1. Na przykład tabela Control ma dwie kolumny klucza podstawowego, Dialog_ i kontrolkę. Wartość elementu "Item1", który jest kluczem w tabeli Formant, będzie mieć postać "DialogName; ControlName", gdzie DialogName jest wartością w tabeli Dialog_, a ControlName jest wartością w kolumnie Kontrolka. Aby zastąpić tylko ControlName, ciąg podstawienia [=Item1; 2] należy użyć.

Uwagi

Tabela ModuleSubstition jest używana przez Configurable Merge Modules. Mergemod.dll w wersji 2.0 lub nowszej jest wymagany do utworzenia konfigurowalnego modułu scalania.

Aby zapewnić zgodność z wersjami Mergemod.dll starszych niż wersja 2.0, tabela ModuleConfiguration i moduleSubstitution tabel powinny być uwzględnione w tabeli ModuleIgnoreTable każdego modułu.