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

 

modify_next_last_download_timestamp (Verbindungsereignis)

Benutzen Sie dieses Skript, wenn Sie die Uhrzeit des letzten Downloads für die nächste Synchronisation ändern möchten.

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.

In SQL-Skripten können Sie Ereignisparameter mit ihrem Namen oder mit einem Fragezeichen angeben. Namen und Fragezeichen dürfen jedoch in einem Skript nicht gemischt verwendet werden. Wenn Sie Fragezeichen verwenden, müssen die Parameter in der nachfolgend gezeigten Reihenfolge stehen und sind nur dann optional, wenn keine nachfolgenden Parameter angegeben wurden (z.B. müssen Sie 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

s.next _last_download

TIMESTAMP. Dies ist ein INOUT-Parameter. Der MobiLink-Server generiert diesen Wert direkt nach Festschreibung des Uploads.

1

s.last_download

TIMESTAMP. Dies ist ein IN-Parameter. Dies ist die Uhrzeit des letzten Downloads für die aktuelle Synchronisation. Hilfreich bei der Vermeidung von Duplikaten, indem sichergestellt wird, dass Sie den Zeitstempel next_last_download nicht auf einen früheren Zeitpunkt als den des Zeitstempels last_download einstellen.

2

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

3

Standardaktion

Keine.

Bemerkungen

Das Skript kann zur Änderung des Zeitstempels next_last_download verwendet werden, der den Zeitstempel last_download für die nächste Synchronisation ändert. Dies ermöglicht Ihnen, die nächste Synchronisation ohne Auswirkung auf die aktuelle Synchronisation zurückzusetzen.

SQL-Skripten für das Ereignis modify_next_last_download_timestamp müssen als gespeicherte Prozeduren implementiert werden. Der MobiLink-Server übergibt den next_last_download-Zeitstempel als ersten Parameter an die gespeicherte Prozedur und ersetzt den Zeitstempel durch den ersten Wert, der von der gespeicherten Prozedur übergeben wird.

Dieses Skript wird in der Downloadtransaktion nach dem Download der Benutzertabellen ausgeführt.

Siehe auch
SQL-Beispiel

Folgendes Beispiel zeigt eine Anwendung für dieses Skript. Erstellen Sie eine gespeicherte Prozedur. Die folgende Syntax gilt für eine konsolidierte SQL Anywhere-Datenbank.

CREATE PROCEDURE ModifyNextDownloadTimestamp(
  inout download_timestamp TIMESTAMP ,
  in last_download TIMESTAMP ,
  in user_name VARCHAR(128) )
  BEGIN
    SELECT dateadd(hour, -1, download_timestamp )
    INTO download_timestamp
END

Installieren Sie das Skript in der konsolidierten SQL Anywhere-Datenbank:

CALL ml_add_connection_script(
  'modify_ts_test',
  'modify_next_last_download_timestamp',
  'CALL  ModifyNextDownloadTimestamp ( 
   {ml s.next_last_download}, 
   {ml s.last_download}, 
   {ml s.username} )' )
Java-Beispiel

Der folgende Aufruf einer MobiLink-Systemprozedur registriert eine Java-Methode namens modifyNextDownloadTimestamp als das Skript für das Verbindungsereignis modify_next_last_download_timestamp, wenn die Skriptversion ver1 synchronisiert wird.

CALL ml_add_java_connection_script(
   'ver1',
   'modify_next_last_download_timestamp',
   'ExamplePackage.ExampleClass.modifyNextDownloadTimestamp' )

Im Folgenden sehen Sie die Java-Beispielmethode modifyNextDownloadTimestamp. Sie setzt den Download-Zeitstempel um eine Stunde zurück.

public String modifyNextDownloadTimestamp(
  Timestamp downloadTimestamp,
  Timestamp lastDownload,
  String userName ) {
  downloadTimestamp.setHours(
  downloadTimestamp.getHours() -1 );
  return( null ); 
}
.NET-Beispiel

Der folgende Aufruf einer MobiLink-Systemprozedur registriert eine .NET-Methode namens ModifyNextDownloadTimestamp als das Skript für das Verbindungsereignis modify_next_last_download_timestamp, wenn die Skriptversion ver1 synchronisiert wird.

CALL ml_add_dnet_connection_script(
   'ver1',
   'modify_next_last_download_timestamp',
   'TestScripts.Test.ModifyNextDownloadTimestamp' )

Im Folgenden sehen Sie die .NET-Beispielmethode ModifyNextDownloadTimestamp. Sie setzt den Download-Zeitstempel um eine Stunde zurück.

public string ModifyNextDownloadTimestamp (
  DateTime download_timestamp,
  DateTime last_download,
  string user_name ) {
  download_timestamp = download_timestamp.AddHours( -1 );
  return ( null );
}