Synchronizácia slovníka - D2000 CfgSynchronizeDictionary

Funkcia SynchronizeDictionary je súčasťou programu D2000 CfgSynchro. Je určená na kopírovanie (synchronizáciu) obsahu slovníka medzi dvoma databázami (resp. aplikáciami D2000).

Prostredníctvom užívateľského rozhrania je možné identifikovať zmenené slovníky a následne ich podľa potreby kopírovať medzi konfiguračnými databázami (synchronizácia databáz). Je vhodný aj na synchronizáciu databáz, ktoré vznikli kópiou originálnej konfiguračnej databázy a oddelene v nich boli vykonávané zmeny.

Porovnávanie slovníkov


Pre potreby synchronizácie konfiguračných databáz sa slovníku, pre každý text, automaticky určuje obraz (náprotivok) z druhej databázy. Tento obraz musí mať zhodný kompozitný (zložený) kľúč, ktorý ho identifikuje.
Kompozitný kľúč pozostáva z TEXTKEY (jednoznačný kľúč textu) a LNG_IDX (identifikátor jazyka). Táto dvojica jednoznačne určuje položku v tabuľke slovníkov a je unikátna.

Z vyššie uvedeného vyplýva, že ak v dvoch rôznych konfiguračných databázach vytvoríme položky s rovnakým kľúčom a jazykom, pri ich synchronizácií budú tieto objekty považované za dva totožné a bude možná ich vzájomná synchronizácia, pretože majú rovnaký kompozitný kľúč. Pokiaľ by sa niektorá zo zložiek kompozitného kľúča líšila, položky budú považované za rôzne a nebude možná ich synchronizácia. Môže ešte nastať prípad, že dve databázy obsahujú rovnaký jazyk pod rôznym identifikačným číslom. Aby bolo možné správne synchronizovať takéto databázy je nutné spárovať tieto jazyky. Pri absencii niektorého jazyka je taktiež možné tento jazyk pridať do Databázy, v ktorej sa nenachádza.

Príklad spárovaných položiek

Na obrázku sú zobrazené spárované položky z dvoch databáz podľa kompozitného kľúča. Jednotlivé záznamy obsahujú:


ID Je určené len na jednoduchšiu orientáciu a prehľadnosť.
Kľúč Kľúč textov spoločný pre obe databázy (ľavú, pravú).
Jazyk Zobrazuje jazyk textu.
Ľavá databáza Text z ľavej databázy.
Pravá databáza Text z pravej databázy.

Stavy a značky objektov


Stavy objektov

1 Dáta sa zhodujú v oboch databázach (nie je možná synchronizácia).
2 Dáta sú rozdielne a sú vhodným kandidátom na synchronizáciu.
3 Dáta sú rozdielne a budú sa aktualizovať alebo vkladať v smere šípky.
4 Jedna databáza neobsahuje dáta a budú zmazané aj z druhej v smere šípky.

Text zobrazený modrou farbou ma aktuálnejší dátum zmeny.
Text (NULL) označený červenou farbou vyznačuje položku s nedefinovaným textom.
Ak sa nachádza v zobrazení text (NULL) štandardnej čiernej farby, tak táto informácia značí, že pre daný kľúč bola nadefinovaná hodnota ako (NULL).
Prázdny text znamená, že položka pre daný kľúč sa nenachádza v databáze.


Značky prenosu


Prenos z ľavej databázy do pravej.
Prenos z pravej databázy do ľavej.
Nezmenený stav.

Hlavné okno


Synchronizácia slovníkov

1 Panel na otvorenie databáz.
2 Filter podľa stavu.
3 Filter podľa jazyka.
4 Filter podľa masky.
5 Nástroje na synchronizáciu databáz.
6 Párovanie jazykov.
7 Uloženie zmien do databáz.
8 Zobrazenie dát.
9 Zatvorenie programu.

Otváranie databáz

V prvom kroku je potrebné databázu otvoriť, otvorenie sa vykonáva pomocou nasledujúcich nástrojov:

Otvorenie databázy


1 Meno databázy.
2 Otvorenie databázy.
3 Zatvorenie databázy.

Pre synchronizáciu dát je potrebné mať otvorené obe databázy.

Filtrovanie zobrazených dát

Po otvorení databáz sa zobrazia všetky texty slovníkov. Pre lepšiu prehľadnosť a jednoduchšiu manipuláciu s textami je možné použiť filtre zobrazenia.

Filtrovať dáta je možné tromi spôsobmi - podľa stavu, podľa jazyka a podľa masky. Filter funguje aj ako kombinácia všetkých spôsobov.

Filter - stav

Filter - jazyk

 Filter - maska

Filter podľa stavu -

  • Všetky - zobrazí všetky texty z databáz
  • Rozdiel – zobrazí všetky texty, ktoré nemajú zhodné dáta – dáta určené na synchronizáciu
  • Neoznačené– zobrazí texty, ktoré obsahujú rozdiely a nie je ešte určené, akým spôsobom sa majú synchronizovať
  • Označené – zobrazí objekty, ktoré obsahujú rozdiely a je už určený spôsob synchronizácie
  • Označené --> - zobrazí texty, ktoré obsahujú rozdiely a budú sa synchronizovať zľava doprava
  • Označené <-- - zobrazí texty, ktoré obsahujú rozdiely a budú sa synchronizovať sprava doľava

Filter podľa jazyka -

  • * - zobrazí všetky texty
  • „xxx“ – zobrazí len objekty, ktorých LNG_IDX zodpovedá jazyku „xxx“

Filter podľa masky – zobrazí len objekty, ktorých textový kľúč zodpovedá maske.

 

Nástroje na synchronizáciu databáz

Po selekcii jednotlivých riadkov je možné vybrať spôsob, akým sa budú databázy synchronizovať. Vykonanie samotnej synchronizácie sa spustí po stlačení tlačidla Spustenie synchronizácie.

Po tomto kroku sa zmeny uložia do databázy, do tej doby je možné označovanie spôsobu synchronizácie ľubovoľne meniť.

Zmeny spôsobu synchronizácie

Spôsoby synchronizácie databáz:

  1. Označí riadok ako úpravu pravej databázy podľa ľavej.

  2. Označí riadok ako úpravu ľavej databázy podľa pravej.

  3. Označí riadok ako úpravu podľa času poslednej aktualizácie nahradením starých dát novými.

  4. Zruší spôsob synchronizácie.

  5. Jednu zo štyroch funkcií je možné vybrať na takzvanú rýchlu voľbu, ktorá sa vykonáva dvojklikom myši.
    Výber rýchlej voľby sa uskutoční prostredníctvom checkboxov nachádzajúcich sa vedľa tlačidiel.

Párovanie jazykov

Pre správne zobrazenie súvisiacich textov je nutné mať správne spárované jazyky. V dvoch databázach môžu byť rovnaké jazyky pomenované odlišným menom, poprípade jazyk sa v jednej z dvoch databáz nemusí nachádzať.

Z tohto dôvodu bol vytvorený nástroj na párovanie jazykov. Nástroj sa spúšťa automaticky po otvorení oboch databáz alebo je možné ho spustiť tlačidlom Spustenie párovania jazykov.

Párovanie jazykov

Na obrázku je znázornené okno slúžiace na párovanie jazykov.

ID v okne 1 a 2 zobrazuje ID jazyka z databázy a Jazyk zobrazuje jeho meno v databáze.

ID a jazyk v okne 3 je len orientačný, nenachádza sa v žiadnej databáze, ale po spárovaní sa s názvom jazyka z okna 3 bude pracovať.

Časti a funkcie okna:


1 Jazyky z ľavej databázy.
2 Jazyky z pravej databázy.
3 Spárovaný jazyk.
4 Posúva jazyky v Okne 1.
5 Posúva jazyky v Okne 2.
6 Pridáva Jazyk z okna 2 do okna 1 alebo odoberá pridaný jazyk z okna 1.
7 Pridáva Jazyk z okna 1 do okna 2 alebo odoberá pridaný jazyk z okna 2.
8 Uloženie zmien a ukončenie okna.

Pridané jazyky sa ukladajú do databáz po zatvorení tohto okna. S nespárovanými jazykmi nie je možné pracovať v procese synchronizácie.

VAROVANIE:
Nesprávnym spárovaním jazykov sa dáta nesprávne zobrazia a synchronizácia môže spôsobiť nekorektné aktualizovanie databáz.

Napíšte komentár