Verwenden Sie diese gespeicherte Prozedur, um den Synchronisationsprozess abzubrechen.
Name | Wert | Beschreibung |
---|---|---|
abort synchronization (in|out) |
true | false |
Wenn Sie diese Zeile in der Tabelle #hook_dict auf true einstellen, wird die Synchronisation sofort nach dem Ereignis beendet. |
publication_n (in) |
Publikation |
Nicht mehr empfohlen. Verwenden Sie stattdessen subscription_n. Die synchronisierten Publikationen, wobei n eine Ganzzahl ist. Es gibt einen publication_n-Eintrag für jede synchronisierte Publikation. Die Nummerierung von n beginnt bei Null. |
MobiLink user (in) |
MobiLink-Benutzername |
Der MobiLink-Benutzer, für den Sie synchronisieren |
exit code (in|out) |
Nummer |
Wenn 'abort synchronization' auf TRUE gesetzt ist, können Sie diesen Wert verwenden, um den Beendigungscode für die abgebrochene Synchronisation zu definieren. 0 gibt an, dass die Synchronisation erfolgreich war. Jede andere Zahl gibt an, dass die Synchronisation fehlgeschlagen ist. |
script version (in|out) |
Skriptversionsname |
Die MobiLink-Skriptversion, die für die Synchronisation verwendet werden soll |
subscription_n (in) |
Subskriptionsname(n) |
Die synchronisierten Subskriptionen, wobei n eine Ganzzahl ist. Es gibt einen subscription_n-Eintrag für jede synchronisierte Subskription. Die Nummerierung von n beginnt bei Null. |
Wenn eine Prozedur dieses Namens vorhanden ist, wird sie beim dbmlsync-Start und dann nach jeder Synchronisationsverzögerung aufgerufen, die von sp_hook_dbmlsync_delay verursacht wird.
Wenn dbmlsync von der Befehlszeile aus ausgeführt wird, bewirkt die Einstellung von TRUE für das Abbrechen der Synchronisation, dass alle restlichen Synchronisationen (einschließlich der geplanten Synchronisationen) abgebrochen werden. Wenn die dbmlsync-API oder die SQL SYNCHRONIZE-Anweisung verwendet wird, bewirkt die Einstellung von TRUE für das Abbrechen der Synchronisation, dass nur die aktuelle Synchronisation abgebrochen wird.
Die Aktionen dieser Prozedur werden sofort nach ihrer Ausführung festgeschrieben.
Die folgende Prozedur verhindert die Synchronisation während der planmäßig täglich zwischen 19:00 und 20:00 Uhr durchgeführten Wartung.
CREATE PROCEDURE sp_hook_dbmlsync_abort() BEGIN DECLARE down_time_start TIME; DECLARE is_down_time VARCHAR(128); SET down_time_start='19:00'; IF datediff( hour,down_time_start,now(*) ) < 1 THEN set is_down_time='true'; ELSE SET is_down_time='false'; END IF; UPDATE #hook_dict SET value = is_down_time WHERE name = 'abort synchronization' END; |
Sie haben einen abort-Hook, der die Synchronisation aus einem von zwei Gründen abbrechen kann. Einer der Gründe ist der normale Abschluss der Synchronisation, und Sie wollen, dass dbmlsync den Beendigungscode 0 hat. Der andere Grund gibt eine Fehlerursache an, und daher soll dbmlsync einen von Null verschiedenen Code ausgeben. Sie könnten dies mit einem sp_hook_dbmlsync_abort-Hook erreichen, der wie folgt definiert ist.
BEGIN IF [condition that defines the normal abort case] THEN UPDATE #hook_dict SET value = '0' WHERE name = 'exit code'; UPDATE #hook_dict SET value = 'TRUE' WHERE name = 'abort synchronization'; ELSEIF [condition that defines the error abort case] THEN UPDATE #hook_dict SET value = '1' WHERE name = 'exit code'; UPDATE #hook_dict SET value = 'TRUE' WHERE name = 'abort synchronization'; END IF; END; |
![]() |
Kommentieren Sie diese Seite in DocCommentXchange.
|
Copyright © 2010, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.0 |