Collection Contents Zurück Weiter PDF

MobiLink Benutzerhandbuch

Synchronisationsmethoden

Löschungen handhaben


Wenn eine Zeile aus der konsolidierten Datenbank gelöscht wird, muss dieser Vorgang erfasst werden, damit die betreffende Zeile auch aus allen anderen entfernten Datenbanken gelöscht werden kann.

Eine Methode besteht darin, diese Zeile nicht zu löschen. Nicht mehr benötigte Daten können durch Ändern einer Statusspalte der Zeile als inaktiv markiert werden. In diesem Fall, einer sogenannten logischen Löschung, können sich die Skripten download_cursor und download_delete_cursor in der WHERE-Klausel auf den Status der Zeile beziehen. Diese Methode wird in der Tabelle ULEmpCust in der Beispielanwendung CustDB eingesetzt, in der die Aktionsspalte ein "D" für "Delete" (Löschen) enthält. Die Skripten verwenden diesen Wert, um den Datensatz aus der entfernten Datenbank zu löschen, und löschen schließlich am Ende der Synchronisation den Datensatz auch aus der konsolidierten Datenbank. CustDB verwendet diese Methode auch für die Tabelle ULOrder. Im Beispiel Contact wird die Methode auf die Tabellen Customer, Contact und Product angewendet.

Eine zweite Methode ist, eine Schattentabelle zu verwenden, in der die Primärschlüsselwerte von gelöschten Zeilen gespeichert werden. Wenn eine Zeile gelöscht wird, kann ein Trigger die Schattentabelle anfüllen. Das download_delete_cursor-Skript kann diese Schattentabelle dann verwenden, um Zeilen aus den entfernten Datenbanken zu löschen. Die Schattentabelle benötigt hierzu lediglich die Primärschlüsselspalten aus der eigentlichen Tabelle.

Weitere Hinweise finden Sie unter download_delete_cursor-Skripten schreiben.


Collection Contents Zurück Weiter PDF