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

SQL Anywhere 11.0.1 (Deutsch) » MobiLink - Erste Orientierung » Einführung in die MobiLink-Technologie » MobiLink-Modelle » Modellmodus

 

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. Weitere Hinweise finden Sie unter Konflikte mit upload_fetch-Skripten erkennen.

  • 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. Weitere Hinweise finden Sie unter Konflikte mit upload_fetch-Skripten erkennen.

    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 sowohl in der konsolidierten als auch in der entfernten Datenbank vorhanden sein. 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 im Register Ereignisse durchführen, wenn Sie den Assistenten beendet haben.

    Weitere Hinweise finden Sie unter Konflikte mit den resolve_conflict-Skripten lösen.

♦  So passen Sie die Konflikterkennung und -lösung an
  1. Öffnen Sie im Modellmodus das Register Zuordnungen.

  2. Wählen Sie im Fenster Tabellenzuordnungen eine entfernte Tabelle aus.

  3. Wählen Sie aus der Dropdown-Liste Kflt. erk. die Option Keine, Zeilenbasiert oder Spaltenbasiert. Wenn Sie Keine wählen, sind Sie fertig.

  4. Wenn Sie Zeilenbasiert oder Spaltenbasiert gewählt haben, wählen Sie anschließend aus der Dropdown-Liste Kfltlös die Option Konsolidiert, Entfernt, Zeitstempel oder Benutzerdefiniert aus.

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

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

Siehe auch