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.
Das Ändern von Verbindungseinstellungen in einem Hook kann zu unerwarteten Ergebnissen führen. Wenn Sie die Verbindungseinstellungen in einem Hook ändern möchten, muss der Hook die alten Werte wiederherstellen, bevor er seine Verarbeitung abschließt.
Die Client-Ereignis-Hooks können mit dem Befehlszeilendienstprogramm dbmlsync oder jeder anderen Programmierschnittstelle zur Synchronisation von SQL Anywhere-Clients, z.B. der Dbmlsync-API und der DBTools-Schnittstelle für dbmlsync, verwendet werden.
Weitere Hinweise finden Sie unter dbmlsync-Synchronisation anpassen.
Hook-Sequenz bei der Synchronisation
Hook-Prozeduren verwenden
Kommentieren Sie diese Seite in DocCommentXchange. Senden Sie uns Feedback über diese Seite via E-Mail. |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |