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.
Bei diesem Vorgang fügen Sie mithilfe von gespeicherten Prozeduren Informationen über das Synchronisationsskript zu Ihrer konsolidierten MobiLink-Datenbank hinzu.
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=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 das folgende SQL-Skript 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( ?, ?, ?, ? )' ); CALL ml_add_table_script( 'default', 'RemoteOrders', 'download_cursor', 'SELECT order_id, product_id, quantity, order_status FROM RemoteOrders WHERE last_modified >= ?'); CALL ml_add_table_script( 'default', 'RemoteOrders', 'download_delete_cursor', '--{ml_ignore}'); COMMIT |
In dieser praktischen Einführung fügen Sie mithilfe der direkten Zeilenbehandlung spezielle Verarbeitungsschritte zu einem SQL-basierten Synchronisationssystem hinzu. Dabei 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 Lektion 4: Java- oder .NET-Klasse für die direkte Zeilenbehandlung in MobiLink erstellen.
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=mldirect_db" |
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 folgendes SQL-Skript in Interactive SQL aus:
CALL ml_add_java_connection_script( 'default', 'end_download', 'MobiLinkOrders.EndDownload' ); |
Für .NET führen Sie folgendes SQL-Skript in Interactive SQL aus:
CALL ml_add_dnet_connection_script( 'default', 'end_download', 'MobiLinkOrders.EndDownload' ); |
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 folgendes SQL-Skript 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 folgendes SQL-Skript 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 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.
Schreiben Sie Ihre Änderungen fest.
Führen Sie folgendes SQL-Skript in Interactive SQL aus:
COMMIT; |
Sie können nun Interactive SQL schließen.
Informationen zur Verwendung von SQL-basierten Ereignissen für den Daten-Upload von entfernten Clients zu einer konsolidierten MobiLink-Datenbank finden Sie unter:
Informationen zum Upload von Daten zu anderen Datenquellen als konsolidierte Datenbanken finden Sie unter Direkte Uploads verarbeiten.
Informationen zur Verwendung von SQL-basierten Ereignissen für den Daten-Download von einer konsolidierten MobiLink-Datenbank finden Sie unter:
Informationen zum Download von Daten zu anderen Datenquellen als konsolidierte Datenbanken finden Sie unter Direkte Downloads verarbeiten.
Informationen zur Synchronisationsereignissequenz finden Sie unter Überblick über MobiLink-Ereignisse.
Informationen zu Synchronisationstechniken für die Download-Filterung finden Sie unter Zeitstempelbasierte Downloads und Zeilen auf entfernte Datenbanken verteilen.
Informationen zum Verwalten von Skripten finden Sie unter Skripten hinzufügen oder löschen.
Informationen zur direkten Zeilenbehandlung finden Sie unter Direkte Zeilenbehandlung.
![]() |
Kommentieren Sie diese Seite in DocCommentXchange.
|
Copyright © 2010, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.0 |