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 - Clientadministration » SQL Anywhere-Clients für MobiLink » Ereignis-Hooks für SQL Anywhere-Clients

 

Einführung in dbmlsync-Hooks

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.

Achtung

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.

dbmlsync-Schnittstellen

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