OBS/Branchenspezifische Module/Segel Modul/Replikation

Aus OBS Wiki
Version vom 29. November 2018, 13:42 Uhr von Mueller (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen


Replikation Bild 1.png


Die Replikation kann nur auf dem Server gestartet werden.
Der Server hat immer die DB OBS_MYSQL_01SEGEL.


Replikation Bild 2.png


Auf den Client Installationen darf der Update Dienst nicht laufen, da sonst die Client Installation den gleichen PMode 996 nach der Replikation hat!


Folgende Tabellen werden nicht mit Repliziert:

  • UNIQUENR
  • SERVICE
  • PC


Während der Replikation darf kein OBS Dienst beim Client laufen.
Während der Replikation ist der Client im Wartungsmodus.
Es kann im Wartungsmodus kein OBS Programm auf dem Client gestartet werden!

Unter F10 kann das Protokoll der Replikation aufgerufen werden.


Hier zu sehen ist die Replikation von Server (Filiale 01) auf Client Full Replication (Filiale 02)

Replikation Bild 3.png


Es werden nur bestimmte Tabellen zurückgeschrieben.
Es gibt 3 Typen von Veränderungen (DU Update , DD Delete , DI Insert).

Hier zusehen ist das Mergen von Client (Filiale 02) auf den Server (Filiale 01).

Replikation Bild 4.png


Hier der Vergleich der Sätze (Bei DD wird das letzte Rep-Datum herangezogen)

for i:=0 to nRecCnt-1 do begin
    //Gleiche SysUID Datum entscheidet
    if ((aRecord[i].dDstDate<> 0)  and
        (aRecord[i].dSrcDate<> 0)) then begin
        // Server SRC Satz ist neuer Src
        if (aRecord[i].dDstDate>aRecord[i].dSrcDate) then begin
            //Client (Dst) muss überschrieben werden
            oList.Add('DU'+','+aRecord[i].cSysUID);
        end;
    end else if ((aRecord[i].dDstDate = 0)    and
                 (aRecord[i].dSrcDate<>0 )) then begin
        //Client (Dst) muss gelöscht werden
        //Datum muss kleiner sein 1. Übertragung
        if (aRecord[i].dSrcDate<dLastRDate) then begin
            oList.Add('DD'+','+aRecord[i].cSysUID);
        end;
    end else if ((aRecord[i].dDstDate<> 0)   and
                (aRecord[i].dSrcDate =  0 )) then begin
        //Client (Src) muss angelegt werden
        oList.Add('DI'+','+aRecord[i].cSysUID);
    end;
end;


Kennzeichnung des Titelbildes


Jede Filiale sollte ein anders Farbiges/Text-Insert User Bild bekommen.
Anzugeben ist das in der .\SYS\User_101288D1_background_obs.png
Wobei der PMode 996 herangezogen wird


Replikation Bild 5.png


Beim Einrichten der Filialdaten muss der UNC Pfad und der DB Pfad eingegeben werden.
Die Pfade sollten mit F7 in der Liste überprüft werden!!!
Wenn kein UNC Pfad angenommen wird, dann muss der OBS Ordner / MYSQL DB Pfad freigegeben werden,
erst dann gibt es bei einer Workstation die Möglichkeit UNC Pfade zu benutzen.

Das Rep Datum/Zeit entscheidet bei der Replikation von Client zu Server, ob Daten auf dem Server gelöscht werden müssen.
Alle älteren Sätze (Sys_Date) auf dem Server, die nicht auf dem Client vorhanden sind, werden gelöscht.