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

SQL Anywhere 12.0.0 (Deutsch) » MobiLink - Erste Orientierung » Einführung in die MobiLink-Technologie » MobiLink-Plug-In für Sybase Central » Einführung in Synchronisationsmodelle » Synchronisationsmodellaufgaben

 

Konflikterkennung und -lösung ändern

Wenn eine Zeile sowohl in der entfernten als auch in der konsolidierten Datenbank aktualisiert wird, tritt bei der nächsten Synchronisation der Datenbanken ein Konflikt auf.

Sie haben folgende Möglichkeiten zum Erkennen von Konflikten:

  • Keine Konflikterkennung   Wählen Sie diese Option, um keine Konflikterkennung durchzuführen. In diesem Fall werden ausgelesene Updates ohne Konfliktprüfung übernommen. Sie müssen daher keine aktuellen Zeilenwerte aus der konsolidierten Datenbank abrufen, sodass die Synchronisation von Aktualisierungen unter Umständen schneller erfolgt.

  • Zeilenbasierte Konflikterkennung   Ein Konflikt wird erkannt, wenn die Zeile seit der letzten Synchronisation sowohl von der entfernten als auch von der konsolidierten Datenbank aktualisiert wurde.

    Diese Option definiert ein upload_fetch-Skript und ein upload_update-Skript. Siehe Konflikte erkennen mit upload_fetch- oder upload_fetch_column_conflicts-Skripten.

  • Spaltenbasierte Konflikterkennung   Ein Konflikt wird erkannt, wenn dieselbe Spalte für die Zeile sowohl in der entfernten als auch in der konsolidierten Datenbank aktualisiert wurde.

    Diese Option definiert ein upload_fetch_column_conflict-Skript. Siehe Konflikte erkennen mit upload_fetch- oder upload_fetch_column_conflicts-Skripten.

    Wenn eine Tabelle BLOBs enthält und Sie die spaltenbasierte Konflikterkennung gewählt haben, wird die zeilenbasierte Konflikterkennung verwendet.

Sie haben folgende Möglichkeiten zum Lösen von Konflikten:

  • Konsolidiert   Erste gewinnt: Heraufgeladene Aktualisierungen werden bei einem Konflikt abgelehnt.

  • Entfernt   Letzte gewinnt: Heraufgeladene Aktualisierungen werden immer angewendet.

    Verwenden Sie diese Option nur im Zusammenhang mit der spaltenbasierten Konflikterkennung. Wählen Sie in allen anderen Fällen keine Konflikterkennung, um die gleichen Ergebnisse bei besserer Performance zu erzielen.

  • Zeitstempel   Die neueste Aktualisierung gewinnt. Um diese Option zu verwenden, müssen Sie eine Zeitstempelspalte für die Tabelle erstellen und verwalten. Die Zeitstempelspalte zeichnet den Zeitpunkt der letzten Änderung dieser Zeile auf. Die Spalte muss in der konsolidierten und in der entfernten Datenbank vorhanden sein und darf nicht dieselben Spalten umfassen, die für zeitstempelbasierte Downloads verwendet werden. Die entfernte und die konsolidierte Datenbank müssen die gleiche Zeitzone verwenden (vorzugsweise UTC). Darüber hinaus müssen die Uhren beider Datenbanken synchronisiert werden.

  • Benutzerdefiniert   Sie schreiben Ihre eigenen resolve_conflict-Skripten. Sie können diesen Vorgang auf der Registerkarte Ereignisse durchführen, wenn Sie den Assistenten beendet haben.

    Siehe Konflikte mit den resolve_conflict-Skripten lösen.

 ♦  So passen Sie die Konflikterkennung und -lösung an
  1. Erweitern Sie im linken Fensterausschnitt von Sybase Central MobiLink 12 Ihren MobiLink-Projektnamen und die Synchronisationsmodelle und wählen Sie Ihren Synchronisationsmodellnamen.

  2. Öffnen Sie im rechten Fensterausschnitt die Registerkarte Zuordnungen.

  3. Wählen Sie im Fenster Tabellenzuordnungen eine Tabellenzuordnung aus.

  4. Wählen Sie in der Dropdown-Liste Konflikterkennung die Option Keine, Zeilenbasiert oder Spaltenbasiert. Wenn Sie Keine wählen, sind Sie fertig.

  5. Wenn Sie Zeilenbasiert oder Spaltenbasiert gewählt haben, wählen Sie die Option Konsolidiert, Entfernt, Zeitstempel oder Benutzerdefiniert in der Dropdown-Liste Konfliktlösung.

  6. Wenn Sie Zeitstempel für die Konfliktlösung gewählt haben, öffnen Sie die Registerkarte Konfliktlösung im unteren Fensterausschnitt und geben Sie den Namen der zu verwendenden Zeitstempelspalte ein.

  7. Wenn Sie Benutzerdefiniert für die Konfliktlösung gewählt haben, öffnen Sie die Registerkarte Ereignisse, und schreiben Sie ein resolve_conflict-Skript für die Tabelle.

 Siehe auch