Der SQL Anywhere-Synchronisationsclient dbmlsync bietet eine Reihe von Ereignis-Hooks, mit denen Sie den Synchronisationsprozess anpassen können. Wenn ein Hook implementiert wurde, wird er zu einem bestimmten Zeitpunkt während des Synchronisationsprozesses aufgerufen.
Sie implementieren einen Ereignis-Hook, indem Sie eine gespeicherte SQL-Prozedur mit einem bestimmten Namen erstellen. Die meisten gespeicherten Prozeduren eines Ereignis-Hooks werden auf derselben Verbindung wie die Synchronisation selbst ausgeführt.
Mit Ereignis-Hooks können Sie Synchronisationsereignisse protokollieren und verarbeiten. Sie können beispielsweise Synchronisationen basierend auf logischen Ereignissen planen, fehlgeschlagene Verbindungen erneut aufbauen oder Fehler und Verletzungen der referenziellen Integrität verarbeiten.
Außerdem können Sie die Ereignis-Hooks auch verwenden, um Teilmengen von Daten zu synchronisieren, die in einer Publikation nicht problemlos definiert werden können. Zum Beispiel können Sie Daten in einer temporären Tabelle synchronisieren, indem Sie eine Hook-Prozedur schreiben, die vor der Synchronisation Daten aus der temporären Tabelle in eine permanente Tabelle kopiert, und eine andere, die die Daten danach wieder zurückkopiert.
Die Integrität des Synchronisationsprozesses basiert auf einer Folge von integrierten Transaktionen. Sie dürfen innerhalb Ihrer Hook-Prozeduren Transaktionen nicht implizit oder explizit festschreiben bzw. zurücksetzen.
Ändern Sie eine beliebige Verbindungseinstellung in einem Hook, müssen Sie den vorherigen Wert der Einstellung wiederherstellen, bevor der Hook endet. Andernfalls kann es zu unerwarteten Ergebnissen kommen.
Hook-Sequenz bei der Synchronisation
Hook-Prozeduren verwenden
![]() |
Kommentieren Sie diese Seite in DocCommentXchange.
|
Copyright © 2010, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.0 |