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 - Serveradministration » MobiLink-Ereignisse » Synchronisationsereignisse

 

end_synchronization (Verbindungsereignis)

Verarbeitet Anweisungen zu dem Zeitpunkt, zu dem eine Anwendung nach Abschluss der Synchronisation die Verbindung zum MobiLink-Server trennt.

Parameter

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 benutzen. Weitere Hinweise finden Sie unter SQL-Java-Datentypen und SQL-.NET-Datentypen.

Parametername für SQL-Skripten

Beschreibung

Reihenfolge

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

Standardaktion

Keine.

Bemerkungen

Der MobiLink-Server führt dieses Skript aus, nachdem die Synchronisation abgeschlossen wurde. Wenn Sie die blockierende Downloadbestätigung verwenden, wird das Skript ausgeführt, nachdem der MobiLink-Client die Bestätigung des Empfangs des Downloads gesendet hat.

Dieses Skript wird innerhalb einer separaten Transaktion nach der Downloadtransaktion ausgeführt.

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 oder Konflikt vorliegt. Während also die Uploadtransaktion zurückgesetzt wird, werden Statistikdaten beibehalten und gepflegt.

Siehe auch
SQL-Beispiel

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} )' )
Java-Beispiel

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 String endSynchronizationConnection(
  String user ) 
  throws java.sql.SQLException {  
  execUpdate( _syncConn, 
   "UPDATE sync_count set count = count + 1 where user_id = '"
   + user + "' " );
  return ( null );
}
.NET-Beispiel

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.

public string EndSync( 
  string user ) {
  return(
   "UPDATE sync_count set count = count + 1 where user_id = '"
   + user + "' ");
  return ( null );
}