Sie verwenden die direkte Zeilenbehandlung, um mit gespeicherten Prozeduren Ihrer konsolidierten MobiLink-Datenbank Synchronisationsskriptinformationen hinzuzufügen. In dieser Lektion registrieren Sie Methodennamen, die den Ereignissen handle_UploadData, handle_DownloadData, end_download, download_cursor und download_delete_cursor entsprechen. Sie erstellen Ihre eigene Java- oder .NET-Klasse in einer späteren Lektion.
Voraussetzungen
In dieser Lektion wird davon ausgegangen, dass Sie bereits alle vorherigen Lektionen abgeschlossen haben. Siehe Lektion 1: Einrichten einer Textdatei-Datenquelle.
In dieser Lektion wird davon ausgegangen, dass Sie die Rollen und Privilegien haben, die im Abschnitt "Privilegien" am Anfang dieser praktischen Einführung aufgeführt sind: Praktische Einführung: Verwenden der direkten Zeilenbehandlung.
Kontext und Bemerkungen
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
Die folgenden SQL-basierten Upload- und Download-Ereignisse werden erstellt:
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. Konfigurieren Sie den MobiLink-Server so, dass er dieses Ereignis für die vorliegende praktische Einführung ignoriert.
Verbinden Sie sich über Interactive SQL mit Ihrer konsolidierten Datenbank, falls dies nicht schon geschehen ist, indem Sie folgenden Befehl ausführen:
dbisql -c "DSN=mldirect_db" |
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; |
Registrieren Sie eine Java- oder .NET-Methode für das end_download-Ereignis.
Mit dieser Methode geben Sie Speicherressourcen frei, wenn der MobiLink-Server das end_download-Verbindungsereignis ausführt.
Für Java führen Sie die folgende Anweisung in Interactive SQL aus:
CALL ml_add_java_connection_script( 'default', 'end_synchronization', 'MobiLinkOrders.EndSync' ); |
Für .NET führen Sie die folgende Anweisung in Interactive SQL aus:
CALL ml_add_dnet_connection_script( 'default', 'end_synchronization', 'MobiLinkOrders.EndSync' ); |
Interactive SQL registriert die benutzerdefinierte EndDownload-Methode für das end_download-Ereignis.
Registrieren Sie Java- oder .NET-Methoden für die Ereignisse handle_UploadData und handle_DownloadData.
Für Java führen Sie die folgenden Anweisungen 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' ); |
Für .NET führen Sie die folgenden Anweisungen in Interactive SQL aus:
CALL ml_add_dnet_connection_script( 'default', 'handle_UploadData', 'MobiLinkOrders.GetUpload' ); CALL ml_add_dnet_connection_script( 'default', 'handle_DownloadData', 'MobiLinkOrders.SetDownload' ); |
Interactive SQL registriert die benutzerdefinierten GetUpload- und SetDownload-Methoden jeweils für die Ereignisse handle_UploadData und handle_DownloadData. Sie erstellen diese Methoden in einer folgenden Lektion.
Registrieren Sie download_cursor- und download_delete_cursor-Ereignisse.
Führen Sie hierzu die folgende SQL-Anweisung in Interactive 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.
Schreiben Sie Ihre Änderungen fest.
Führen Sie die folgende Anweisung in Interactive SQL aus:
COMMIT; |
Schließen Sie Interactive SQL.
![]() |
Kommentieren Sie diese Seite in DocCommentXchange.
|
Copyright © 2013, SAP AG oder ein SAP-Konzernunternehmen. - SAP Sybase SQL Anywhere 16.0 |