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

SQL Anywhere 12.0.1 (Deutsch) » MobiLink - Erste Orientierung » Praktische Einführungen in MobiLink » Praktische Einführung: Synchronisation mit Microsoft Excel

 

Lektion 4: Hinzufügen von Synchronisationsskripten

In dieser Lektion wird davon ausgegangen, dass Sie bereits alle vorherigen Lektionen abgeschlossen haben. Siehe Lektion 1: Einrichten einer Excel-Tabelle.

In dieser Lektion fügen Sie Skripten zu Ihrer konsolidierten Datenbank für die SQL-Zeilenbehandlung und die direkte Zeilenbehandlung hinzu.

Mit der SQL-Zeilenbehandlung können Sie entfernte Daten mit Tabellen in Ihrer konsolidierten MobiLink-Datenbank synchronisieren. SQL-basierte Skripten legen Folgendes fest:

  • Wie Upload-Daten von einem MobiLink-Client in die konsolidierte Datenbank übernommen werden

  • Welche Daten von der konsolidierten Datenbank heruntergeladen werden

In dieser Lektion schreiben Sie Synchronisationsskripten für die folgenden SQL-basierten Upload- und Download-Ereignisse:

  • upload_insert   Dieses Ereignis definiert, wie neue Bestellungen aus einer entfernten Clientdatenbank in die konsolidierte Datenbank übernommen werden.

  • download_cursor   Dieses Ereignis definiert die Bestellungen, die auf entfernte Clients heruntergeladen werden sollen.

  • download_delete_cursor   Dieses Ereignis ist erforderlich, wenn Sie Synchronisationsskripten verwenden, die nicht nur einen reinen Upload ausführen. Der MobiLink-Server wird konfiguriert, dieses Ereignis für diese praktische Einführung zu ignorieren.

Sie fügen mithilfe der direkten Zeilenbehandlung spezielle Verarbeitungsschritte zu einem SQL-basierten Synchronisationssystem hinzu. Dabei registrieren Sie Methodennamen, die den Ereignissen handle_UploadData, handle_DownloadData, download_cursor und download_delete_cursor entsprechen. Sie erstellen Ihre eigene Java -Klasse in einer späteren Lektion.

 Hinzufügen von Skripten zu Ihrer konsolidierten Datenbank für die SQL-Zeilenbehandlung und die direkte Zeilenbehandlung
  1. Verbinden Sie sich über Interactive SQL mit Ihrer konsolidierten Datenbank, falls dies nicht schon geschehen ist.

    Führen Sie den folgenden Befehl aus:

    dbisql -c "DSN=mlexcel_db"
  2. Verwenden Sie die gespeicherte Prozedur ml_add_table_script, um SQL-basierte Tabellenskripten für die Ereignisse upload_insert, download_cursor und download_delete_cursor hinzuzufügen.

    Führen Sie hierzu die folgende SQL-Anweisung in Interactive SQL aus. Das upload_insert-Skript fügt order_id, product_id, quantity und order_status in die konsolidierte MobiLink-Datenbank ein. Das download_cursor-Skript verwendet eine Filterung auf Zeitstempelbasis für den Download aktualisierter Zeilen auf entfernte Clients.



    CALL ml_add_table_script( 'default', 'RemoteOrders', 
        'upload_insert',
        'INSERT INTO RemoteOrders( order_id, product_id, quantity, order_status)
        VALUES( {ml r.order_id}, {ml r.product_id}, {ml r.quantity}, {ml r.order_status} )' );
       
    CALL ml_add_table_script( 'default', 'RemoteOrders',
        'download_cursor',
        'SELECT order_id, product_id, quantity, order_status
        FROM RemoteOrders WHERE last_modified >= {ml s.last_table_download}');
    
    CALL ml_add_table_script( 'default', 'RemoteOrders',
        'download_delete_cursor', '--{ml_ignore}');
    
    COMMIT
  3. Registrieren Sie Java -Methoden für die Ereignisse handle_UploadData und handle_DownloadData.

    Führen Sie hierzu die folgende SQL-Anweisung in Interactive SQL aus:

    CALL ml_add_java_connection_script( 'default', 
        'handle_UploadData',
        'MobiLinkOrders.GetUpload' );
       
    CALL ml_add_java_connection_script( 'default',
        'handle_DownloadData',
        'MobiLinkOrders.SetDownload' );

    Interactive SQL registriert die GetUpload- und SetDownload-Methoden jeweils für die Ereignisse handle_UploadData und handle_DownloadData. Sie erstellen diese Methoden in einer folgenden Lektion.

  4. Registrieren Sie die Ereignisse download_cursor und download_delete_cursor.

    Führen Sie folgendes SQL-Skript in Interactive SQL aus:

    CALL ml_add_table_script( 'default', 'OrderComments',
        'download_cursor', '--{ml_ignore}');
    
    CALL ml_add_table_script( 'default', 'OrderComments',
        'download_delete_cursor', '--{ml_ignore}');

    Die Ereignisse download_cursor und download_delete_cursor müssen für die OrderComments-Tabelle registriert werden, wenn Sie Skripten verwenden, weil die Synchronisation in beiden Richtungen erfolgt und nicht nur ein reiner Upload ist. Siehe Erforderliche Skripten.

  5. Schreiben Sie Ihre Änderungen fest.

    Führen Sie die folgende SQL-Anweisung in Interactive SQL aus:

    COMMIT;
  6. Fortfahren mit Lektion 5: Erstellen einer Java-Klasse mit direkter Zeilenbehandlung in MobiLink.

 Siehe auch