Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SAP Sybase SQL Anywhere 16.0 (Deutsch) » MobiLink - Serveradministration » MobiLink-Servertechnologie » Synchronisationsmethoden

 

Implementieren zeitstempelbasierter Downloads

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

Voraussetzungen

Es gibt keine Voraussetzungen für diese Aufgabe.

Kontext und Bemerkungen

MobiLink verwaltet einen TIMESTAMP-Wert, aus dem hervorgeht, wann die einzelnen MobiLink-Benutzer zuletzt Daten per Download übertragen haben. Dieser Wert wird als Zeitpunkt des letzten Downloads bezeichnet.

 Aufgabe
  1. Wenn Sie die zeitstempelbasierte Synchronisation für eine Tabelle implementieren möchten, fügen Sie der konsolidierten Datenbank eine last_modified-Spalte hinzu, in die der Zeitpunkt der letzten Änderung der betreffenden Zeile gespeichert wird. Die Spalte wird normalerweise folgendermaßen deklariert:

    DBMS Spalte mit Zeitpunkt der letzten Änderung
    Adaptive Server Enterprise datetime
    IBM DB2 LUW timestamp NOT NULL GENERATED ALWAYS FOR EACH ROW ON UPDATE AS ROW CHANGE TIMESTAMP
    Microsoft SQL Server datetime
    MySQL timestamp default CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
    Oracle timestamp
    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 Spalte TIMESPTAMP.

Ergebnisse

Die zeitstempelbasierte Synchronisation wird implementiert.

Beispiel

Das folgende, aus dem MobiLink-Beispiel Contact entnommene Beispiel veranschaulicht, wie Sie einen zeitstempelbasierten Download implementieren können.

  • 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_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

 Siehe auch

Zeitpunkt des letzten Downloads in Skripten
Sommerzeit-Lösungen