Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 12.0.1 (Deutsch) » MobiLink - Serveradministration » MobiLink-Servertechnologie » Synchronisationsmethoden

 

Löschungen

Wenn eine Zeile aus der konsolidierten Datenbank gelöscht wird, muss dieser Vorgang aufgezeichnet werden, damit die betreffende Zeile von einem download_delete_cursor-Skript explizit ausgewählt und auch aus allen entfernten Datenbanken gelöscht werden kann. Dies kann durch logische Löschungen oder Schattentabellen erfolgen.

  • Logische Löschungen   Bei dieser Methode wird die Zeile nicht gelöscht. Nicht mehr benötigte Daten werden in einer Statusspalte als inaktiv markiert. Die WHERE-Klausel der Skripten download_cursor und download_delete_cursor und die meisten Anwendungsabfragen müssen sich auf den Status der Zeile beziehen.

    Diese Methode wird in der Beispielanwendung CustDB eingesetzt, in der die Spalte ULEmpCust.action 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 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.

    Bei der Unterstützung des MobiLink-Synchronisationsmodells für logische Löschungen wird davon ausgegangen, dass eine logische Löschspalte sich nur in der konsolidierten Datenbank und nicht in der entfernten Datenbank befindet. Wenn ein konsolidiertes Schema in ein neues entferntes Schema kopiert wird, lassen Sie alle Spalten aus, die mit den logischen Löschspalten in den Synchronisationseinstellungen des Modells übereinstimmen. Bei einem neuen Modell wird der Standardspaltenname gelöscht.

    So fügen Sie den Namen der logischen Löschspalte dem entfernten Schema hinzu:

    1. Im Assistenten zum Erstellen eines Synchronisationsmodells klicken Sie auf der Seite Download-Löschungen auf die Option Logische Löschungen verwenden.

    2. Benennen Sie die logische Löschspalte um, sodass sie mit keinem Spaltennamen in der konsolidierten Datenbank übereinstimmt.

    3. Nachdem der Assistent fertig ist, aktualisieren Sie das entfernte Schema und behalten die Standardtabellenauswahl bei. Der Name der logischen Löschspalte erscheint in der Schemaänderungsliste und kann dem entfernten Schema hinzugefügt werden.

    Hinweis

    Sie müssen die Spaltenzuordnung für die logische Löschspalte der entfernten Datenbank auf die logische Löschspalte der konsolidierten Datenbank festlegen.

  • Schattentabellen   Bei dieser Methode erstellen Sie eine Schattentabelle, 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.

 Siehe auch

Synchronisation von Löschungen vorübergehend stoppen