Bietet nützliche Informationen über die synchronisierten Publikationen.
In der folgenden Tabelle stellt die Beschreibung den SQL-Datentyp bereit. Wenn Sie Ihr Skript in Java oder .NET schreiben, müssen Sie den entsprechenden Datentyp verwenden. Siehe SQL-Java-Datentypen und SQL-.NET-Datentypen.
In SQL-Skripten können Sie Ereignisparameter mit ihrem Namen oder mit einem Fragezeichen angeben. Die Verwendung von Fragezeichen ist veraltet und es wird empfohlen, benannte Parameter zu verwenden. Sie können nicht Namen und Fragezeichen in einem Skript mischen. Wenn Sie Fragezeichen verwenden, müssen die Parameter in der unten gezeigten Reihenfolge stehen und sind nur dann optional, wenn keine nachfolgenden Parameter angegeben wurden. (Sie müssen beispielsweise Parameter 1 verwenden, wenn Sie Parameter 2 verwenden möchten.) Wenn Sie benannte Parameter verwenden, können Sie beliebige Teilmengen der Parameter in beliebiger Reihenfolge angeben.
Parametername für SQL-Skripten | Beschreibung | Reihenfolge (veraltet für SQL) |
---|---|---|
s.generation_number |
INTEGER. Wenn Ihr Deployment keine dateibasierten Downloads verwendet, kann dieser Parameter ignoriert werden. Der Standardwert ist 1. |
1 |
s.remote_id | VARCHAR(128). Die entfernte ID von MobiLink. Sie können die entfernte ID nur dann referenzieren, wenn Sie benannte Parameter verwenden. | Nicht anwendbar |
s.username |
VARCHAR(128). Der MobiLink-Benutzername. |
2 |
s.publication_name |
VARCHAR(128). Der Name der Publikation |
3 |
s.last_publication_upload |
TIMESTAMP. Zeit des letzten Uploads dieser Publikation. |
4 |
s.last_publication_download |
TIMESTAMP. Zeit des letzten Downloads dieser Publikation. |
5 |
s.subscription_id |
VARCHAR(128). Die entfernte Subskriptions-ID. |
6 |
s.script_version | VARCHAR(128). Optionaler IN-Parameter, mit dem angegeben wird, dass der MobiLink-Server die bei der aktuellen Synchronisation verwendete Skriptversionszeichenfolge an diesen Parameter übergibt. Fragezeichen können nicht verwendet werden, um diesen Parameter anzugeben. | Nicht anwendbar |
Keine.
Mit diesem Ereignis können Sie Synchronisationslogik basierend auf den gerade synchronisierten Publikationen entwerfen. Dieses Ereignis wird in derselben Transaktion wie das Ereignis end_synchronization und vor dem Ereignis end_synchronization aufgerufen. Es wird einmal pro synchronisierter Publikation aufgerufen.
Wenn die laufende Synchronisation einen Upload erfolgreich übernommen hat, enthält der Parameter last_upload den Zeitpunkt der Übernahme dieses letzten Uploads. last_publication_download ist derselbe Wert, der als Uhrzeit des letzten Downloads an die Download-Skripten übergeben wurde.
Wenn eine entfernte UltraLite mit UL_SYNC_ALL synchronisiert, wird dieses Ereignis einmal mit dem Namen "unknown" aufgerufen.
Der Parameter generation_number ist speziell für dateibasierte Downloads vorgesehen. Bei dateibasierten Downloads wird mithilfe von Änderungen an Generierungsnummern ein Upload vor dem Download erzwungen, wenn die Datei in der entfernten Datenbank übernommen wird. Die Nummer wird in der Download-Datei gespeichert.
Der Ausgabewert für die Generierungsnummer wird vom begin_publication-Skript an das end_publication-Skript übergeben. Die Bedeutung von generation_number hängt davon ab, ob die aktuelle Synchronisation benutzt wird, um eine Download-Datei zu erstellen oder ob die aktuelle Synchronisation ein Upload benötigt.
Sie können die Informationen für jede synchronisierte Publikation aufzeichnen. Das folgende Beispiel ruft ml_add_connection_script auf, um das Ereignis der gespeicherten Prozedur RecordPubEndSync zuzuweisen.
CALL ml_add_connection_script( 'version1', 'end_publication', 'CALL RecordPubEndSync( {ml s.generation_number}, {ml s.username}, {ml s.publication_name}, {ml s.last_publication_upload}, {ml s.last_publication_download} )' ); |
Der folgende Aufruf einer MobiLink-Systemprozedur registriert eine Java-Methode namens endPublication als das Skript für das Verbindungsereignis end_publication, wenn die Skriptversion ver1 synchronisiert wird.
CALL ml_add_java_connection_script( 'ver1', 'end_publication', 'ExamplePackage.ExampleClass.endPublication' ) |
Im Folgenden sehen Sie die Java-Beispielmethode endPublication. Damit wird eine Nachricht ins MobiLink-Nachrichtenlog ausgegeben. (Das Ausgeben einer Meldung in das MobiLink-Meldungslog ist während der Entwicklung möglicherweise nützlich, verlangsamt aber einen Produktionsserver.)
package ExamplePackage; import java.sql.*; public class ExampleClass { String _curUser = null; public void endPublication( int generation_number, String user, String pub_name, Timestamp last_publication_upload, Timestamp last_publication_download ) { java.lang.System.out.println( "Finished synchronizing publication " + pub_name ); }} |
Der folgende Aufruf einer MobiLink-Systemprozedur registriert eine .NET-Methode namens EndPub als das Skript für das Verbindungsereignis end_publication, wenn die Skriptversion ver1 synchronisiert wird.
CALL ml_add_dnet_connection_script( 'ver1', 'end_publication', 'TestScripts.Test.EndPub' ) |
Im Folgenden sehen Sie die .NET-Beispielmethode endPub. Damit wird eine Nachricht ins MobiLink-Nachrichtenlog ausgegeben. (Das Ausgeben einer Meldung in das MobiLink-Meldungslog ist während der Entwicklung möglicherweise nützlich, verlangsamt aber einen Produktionsserver.)
public void EndPub( int generation_number, string user, string pub_name, DateTime last_publication_upload, DateTime last_publication_download ) { System.Console.Write( "Finished synchronizing publication " + pub_name ); } |
![]() |
Kommentieren Sie diese Seite in DocCommentXchange.
|
Copyright © 2013, SAP AG oder ein SAP-Konzernunternehmen. - SAP Sybase SQL Anywhere 16.0 |