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-Servertechnologie verwenden » Synchronisationsmethoden

 

Zeitstempelbasierte Downloads

Die Zeitstempelmethode ist die nützlichste allgemeine Methode für eine effiziente Synchronisation. Dabei werden der Zeitpunkt der letzten Synchronisation der einzelnen Benutzer sowie nur die Downloadzeilen ermittelt, die seitdem geändert wurden.

MobiLink unterhält einen Zeitstempelwert, aus dem hervorgeht, wann die einzelnen Benutzer zuletzt Daten per Download übertragen haben. Dieser Wert wird als Zeitpunkt des letzten Downloads bezeichnet.

Weitere Hinweise finden Sie unter Zeitpunkt des letzten Downloads in Skripten verwenden.

♦  So implementieren Sie die Zeitstempel-Synchronisation für eine einzelne Tabelle
  1. Fügen Sie in die konsolidierte Datenbank eine Spalte ein, in die der Zeitpunkt der letzten Änderung der betreffenden Zeile eingetragen werden soll. Die Spalte wird normalerweise folgendermaßen deklariert:

    DBMS Spalte mit Zeitpunkt der letzten Änderung
    Adaptive Server Enterprise datetime
    IBM DB2 LUW timestamp
    IBM DB2 Mainframe timestamp
    Microsoft SQL Server datetime
    MySQL timestamp
    Oracle date
    SQL Anywhere timestamp DEFAULT timestamp
  2. Vergleichen Sie in Skripten für die Ereignisse download_cursor und download_delete_cursor den ersten Parameter für den Wert in der Zeitstempelspalte.

Beispiel

Die folgende Tabellendeklaration und die folgenden Skripten implementieren eine Zeitstempel-Synchronisation in der Tabelle Customer im Beispiel Contact:

  • Tabellendefinition:

    CREATE TABLE "DBA"."Customer"(
       "cust_id"  integer NOT NULL DEFAULT GLOBAL AUTOINCREMENT,
       "name"  char(40) NOT NULL,
       "rep_id"  integer NOT NULL,
       "last_modified" timestamp NULL DEFAULT timestamp,
       "active"  bit NOT NULL,
       PRIMARY KEY ("cust_id") )
  • download_delete_cursor-Skript:

    SELECT cust_id
    FROM Customer JOIN SalesRep
    ON Customer.rep_id = SalesRep.rep_id
    WHERE Customer.last_modified >= {ml s.last_table_download}
        AND ( SalesRep.ml_username != {ml s.username}
              OR Customer.active = 0 )
  • download_cursor-Skript:

    SELECT cust_id, Customer.name, Customer.rep_id
    FROM Customer KEY JOIN SalesRep
    WHERE Customer.last_modified >= {ml s.last_table_download}
        AND SalesRep.ml_username = {ml s.username}
        AND Customer.active = 1

Weitere Hinweise finden Sie unter Quellcode der Synchronisationslogik und Ansprechpartner im Beispiel Contact synchronisieren.


Zeitpunkt des letzten Downloads in Skripten verwenden
Umgang mit der Sommerzeit