Verarbeitet Anweisungen am Ende des Synchronisationsprozesses.
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.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. |
1 |
s.synchronization_ok |
INTEGER. Die Wert ist 1 für eine erfolgreiche Synchronisation und 0 für eine nicht erfolgreiche Synchronisation. |
2 |
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.
Der MobiLink-Server führt dieses Skript aus, nachdem die Synchronisation abgeschlossen wurde.
Dieses Skript wird innerhalb einer separaten Transaktion nach der Download-Transaktion ausgeführt. Wenn keine Downloadbestätigung erwartet wird, beendet die entfernte Datenbank möglicherweise die Synchronisation und trennt die Verbindung, bevor das Skript end_synchronization beginnt oder abgeschlossen ist.
Das Skript end_synchronization ist bei der Pflege von Statistiken hilfreich. Wenn nämlich das Skript begin_synchronization aufgerufen wird, wird das Skript end_synchronization auch dann aufgerufen, wenn ein Fehler in einer vorangegangenen Transaktion vorliegt. Während also die Upload-Transaktion zurückgesetzt wird, werden Statistikdaten beibehalten und gepflegt.
Das nachstehende SQL-Skript ruft eine Systemprozedur auf, die die Beendigungszeit der Synchronisation zusammen mit dem Status des Erfolgs oder Nichterfolgs aufzeichnet. Diese Syntax gilt für konsolidierte SQL Anywhere-Datenbanken.
CALL ml_add_connection_script( 'ver1', 'end_synchronization', 'CALL RecordEndOfSyncAttempt( {ml s.username}, {ml s.synchronization_ok} )' ) |
Der folgende Aufruf einer MobiLink-Systemprozedur registriert eine Java-Methode namens endSynchronizationConnection als das Skript für das Verbindungsereignis end_synchronization, wenn die Skriptversion ver1 synchronisiert wird.
CALL ml_add_java_connection_script( 'ver1', 'end_synchronization', 'ExamplePackage.ExampleClass.endSynchronizationConnection' ) |
Im Folgenden sehen Sie die Java-Beispielmethode endSynchronizationConnection. Sie verwendet eine JDBC-Verbindung, um eine Aktualisierung auszuführen. Diese Syntax gilt für konsolidierte SQL Anywhere-Datenbanken.
public void endSynchronizationConnection( String user ) throws java.sql.SQLException { execUpdate( _syncConn, "UPDATE sync_count set count = count + 1 where user_id = '" + user + "' " ); } |
Der folgende Aufruf einer MobiLink-Systemprozedur registriert eine .NET-Methode namens EndSync als das Skript für das Verbindungsereignis end_synchronization, wenn die Skriptversion ver1 synchronisiert wird.
CALL ml_add_dnet_connection_script( 'ver1', 'end_synchronization', 'TestScripts.Test.EndSync' ) |
Im Folgenden sehen Sie die .NET-Beispielmethode EndSync. Sie aktualisiert die Tabelle sync_count. Diese Syntax gilt für konsolidierte SQL Anywhere-Datenbanken.
namespace TestScripts { public class Test { string _curUser = null; public void EndSync( string user ) { return( "UPDATE sync_count set count = count + 1 where user_id = '" + user + "' "); }}} |
![]() |
Kommentieren Sie diese Seite in DocCommentXchange.
|
Copyright © 2013, SAP AG oder ein SAP-Konzernunternehmen. - SAP Sybase SQL Anywhere 16.0 |