In dieser Lektion synchronisieren Sie Ihre Anwendung mit einer konsolidierten Datenbank, die auf Ihrem Computer läuft.
Im folgenden Verfahren wird gezeigt, wie Sie Synchronisationscode in Ihre Anwendung einfügen, den MobiLink-Server starten und Ihre Anwendung ausführen, um die Daten zu synchronisieren.
Die in den vorhergehenden Lektionen von Ihnen erstellte UltraLite-Datenbank wird mit der UltraLite 12-Beispieldatenbank synchronisiert. Die UltraLite 12-Beispieldatenbank verfügt über die Tabelle ULCustomer, deren Spalten diejenigen aus der customer-Tabelle Ihrer lokalen UltraLite-Datenbank umfassen.
Diese Lektion setzt Vertrautheit mit der MobiLink-Synchronisation voraus.
Fügen Sie nachstehende Methode der Datei customer.cpp hinzu. Diese Methode führt die folgenden Aufgaben aus:
Aktiviert die TCP/IP-Kommunikation durch Aufruf von EnableTcpipSynchronization. Die Synchronisation kann auch über HTTP, HTTPS und TLS durchgeführt werden.
Sie definiert die Skriptversion. Die MobiLink-Synchronisation wird von Skripten in der konsolidierten Datenbank gesteuert. Die Skriptversion legt fest, welche Gruppe von Skripten verwendet werden soll.
Sie legt den MobiLink-Benutzernamen fest. Dieser Wert wird zur Authentifizierung auf dem MobiLink-Server verwendet. Sie unterscheidet sich von der Benutzer-ID der UltraLite-Datenbank. Sie können aber bei Ihren Anwendungen denselben Wert für die Benutzer-ID verwenden.
Sie legt den Parameter download_only auf TRUE fest. Standardmäßig ist die MobiLink-Synchronisation bidirektional. Diese Anwendung verwendet die reine Downloadsynchronisation, damit die Zeilen in Ihrer Tabelle nicht in die Beispieldatenbank geladen werden.
static bool do_sync( ULConnection * conn ) { ul_sync_info info; ul_stream_error * se = &info.stream_error; ULDatabaseManager::EnableTcpipSynchronization(); conn->InitSyncInfo( &info ); info.stream = "TCPIP"; info.version = "custdb 12.0"; info.user_name = "50"; info.download_only = true; if( !conn->Synchronize( &info ) ) { _tprintf( "Synchronization error \n" ); _tprintf( " stream_error_code is '%lu'\n", se->stream_error_code ); _tprintf( " system_error_code is '%ld'\n", se->system_error_code ); _tprintf( " error_string is '" ); _tprintf( "%s", se->error_string ); _tprintf( "'\n" ); return false; } return true; } |
Fügen Sie die folgende Zeile unmittelbar hinter dem Aufruf der insert-Methode und vor dem Aufruf der select-Methode der main-Methode hinzu:
do_sync(conn); |
Kompilieren Sie Ihre Anwendung mit nmake.
Starten Sie den MobiLink-Server.
Führen Sie an der Eingabeaufforderung folgenden Befehl aus:
mlsrv12 -c "dsn=SQL Anywhere 12 CustDB;uid=ml_server;pwd=sql" -v -vr -vs -zu+ -o custdbASA.log |
Die Option -zu+ ermöglicht das automatische Hinzufügen von Benutzern. Die Option -v+ aktiviert die ausführliche Protokollierung aller Meldungen.
Führen Sie Ihre Anwendung aus, indem Sie an einer Eingabeaufforderung customer eingeben.
Im Fenster des MobiLink-Servers werden Statusmeldungen angezeigt, die den Synchronisationsfortschritt beschreiben. Wenn die
Synchronisation erfolgreich verläuft, zeigt die letzte Meldung Synchronisation abgeschlossen
an.
![]() |
Kommentieren Sie diese Seite in DocCommentXchange.
|
Copyright © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |