Mit dieser gespeicherten Prozedur können Sie einen Abschluss-Verarbeitungsfortschritt definieren, wenn eine skriptgesteuerte Upload-Subskription synchronisiert wird. Diese Prozedur wir nur aufgerufen, wenn eine skriptgesteuerte Upload-Publikation synchronisiert wird.
Name | Wert | Beschreibung |
---|---|---|
generating download exclusion list (in) |
TRUE | FALSE |
TRUE, wenn während der Synchronisation kein Upload erfolgt (zum Beispiel bei reinen Download-Synchronisationen oder bei einem dateibasierten Download). In diesen Fällen werden die Upload-Skripten immer noch aufgerufen und die generierten Vorgänge werden zum Erkennen der Downloadvorgänge verwendet, bei denen Zeilen verändert werden, die dann übertragen werden müssen. Wird ein solcher Vorgang ermittelt, wird kein Download durchgeführt. |
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. |
Start-Verarbeitungsfortschritt als timestamp_n (in) | Fortschritt als Zeitstempel | Der Start-Verarbeitungsfortschritt für jede zu synchronisierende Subskription wird als Zeitstempel ausgedrückt, wobei n der Ganzzahl entspricht, die zur Identifizierung der Subskription verwendet wird. |
Start-Verarbeitungsfortschritt als bigint_n (in) | Fortschritt als "bigint" | Der Start-Verarbeitungsfortschritt für jede zu synchronisierende Subskription wird als "bigint" ausgedrückt, wobei n der Ganzzahl entspricht, die zur Identifizierung der Subskription verwendet wird. |
script version (in) | Skriptversionsname | Die MobiLink-Skriptversion, die für die Synchronisation verwendet werden soll |
MobiLink user (in) |
MobiLink-Benutzername |
Der MobiLink-Benutzer, für den Sie synchronisieren |
end progress is bigint (in|out) |
TRUE | FALSE |
Wenn diese Zeile TRUE ist, ist der Abschluss-Verarbeitungsfortschritt ein "bigint" ohne Vorzeichen, dargestellt als Zeichenfolge (zum Beispiel '12345') Wenn diese Zeile auf FALSE gesetzt ist, wird für den Abschluss-Verarbeitungsfortschrittswert ein als Zeichenfolge dargestellter TIMESTAMP-Wert angenommen (z.B. "1900/01/01 12:00:00.000"). Standardwert ist FALSE. |
end progress (in|out) | Zeitstempel |
Der Hook kann diese Zeile ändern, um die Werte "end progress " und "raw end progress" zu ändern, die an die Upload-Skripten übergeben wurden. Diese Werte definieren den Zeitpunkt, bis zu dem alle Vorgänge im zu generierenden Upload berücksichtigt werden. Der Wert dieser Zeile kann ein "bigint" ohne Vorzeichen oder ein Zeitstempel sein, abhängig von der Einstellung in der Zeile "end progress is bigint". Der Standardwert dieser Zeile ist der aktuelle Zeitstempel. |
subscription_n (in) | Subskriptionsname(n) | Die synchronisierten Subskriptionen, wobei n eine Ganzzahl ist. Dies ist ein subscription_n-Eintrag für jede synchronisierte Subskription. Die Nummerierung von n beginnt bei Null. |
Jedes Mal, wenn bei einem skriptgesteuerten Upload eine Prozedur aufgerufen wird, wird ein Start-Verarbeitungsfortschrittswert und ein Abschluss-Verarbeitungsfortschrittswert übergeben. Die Prozedur muss alle entsprechenden Vorgänge, die innerhalb des durch diese Werte definierten Zeitraums auftreten, zurückgeben. Der Start-Verarbeitungsfortschrittswert entspricht immer dem Abschluss-Verarbeitungsfortschrittswert der letzten erfolgreichen Synchronisation. Bei der ersten Synchronisation beginnt der Fortschritt mit dem Wert January 1, 1900, 00:00:00.000. Standardmäßig entspricht der Abschluss-Verarbeitungsfortschrittswert dem Zeitpunkt, an dem dbmlsync mit dem Upload beginnt.
Mit diesem Hook können Sie den standardmäßigen Abschluss-Verarbeitungsfortschrittswert überschreiben. Sie können einen kürzeren Zeitraum für den Upload definieren oder ein Fortschrittsprotokollschema anwenden, das nicht auf Zeitstempeln basiert, sondern beispielsweise auf Generierungsnummern.
Wenn "end progress is bigint" TRUE ist, muss der Abschluss-Verarbeitungsfortschritt eine Ganzzahl kleiner oder gleich der Millisekunden zwischen 1900-01-01 00:00:00 und 9999-12-31 23:59:59:9999 sein, also 255.611.203.259.999.
Hook-Prozeduren können von jedem Benutzer mit dem MANAGE REPLICATION-Systemprivileg erstellt werden. Um jedoch zu gewährleisten, dass ein Hook auf die #hook_dict-Tabelle zugreifen kann, die verwendet wird, um Daten an und aus Hooks zu übergeben, müssen Hooks eine der folgenden Anforderungen erfüllen:
Eigentümer muss ein Benutzer sein, der die Systemprivilegien SELECT ANY TABLE und UPDATE ANY TABLE hat.
Sie müssen durch die SQL SECURITY INVOKER-Klausel der CREATE PROCEDURE-Anweisung definiert sein.
![]() |
Kommentieren Sie diese Seite in DocCommentXchange.
|
Copyright © 2013, SAP AG oder ein SAP-Konzernunternehmen. - SAP Sybase SQL Anywhere 16.0 |