Benutzen Sie dieses Skript, wenn Sie die Uhrzeit des letzten Downloads für die nächste Synchronisation ändern möchten.
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 |
Keine.
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.
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} )' ) |
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 ); } |
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 ); } |
Kommentieren Sie diese Seite in DocCommentXchange. Senden Sie uns Feedback über diese Seite via E-Mail. |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |