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

SQL Anywhere 11.0.1 (Deutsch) » MobiLink - Serverinitiierte Synchronisation » Praktische Einführung in die serverinitiierte Synchronisation » Praktische Einführung: Serverinitiierte Synchronisation unter Verwendung des Lightweight-Polling-Moduls

 

Lektion 2: Datenbankschema generieren

In dieser Lektion generieren Sie ein Datenbankschema, das die Tabelle Dealer, eine non_sync_request-Tabelle und ein download_cursor-Synchronisationsskript enthält. Dieses Datenbankschema erfüllt die Anforderungen für das Generieren von Push-Anforderungen.

♦  So richten Sie das Datenbankschema ein
  1. Stellen Sie eine Verbindung mit der konsolidierten Datenbank her:

    1. Rechtsklicken Sie in Sybase Central auf SQL Anywhere 11 und wählen Sie Verbinden.

    2. Klicken Sie auf das Register Identifizierung.

    3. Klicken Sie auf ODBC-Datenquellenname und geben Sie SIS_CarDealer_LP_DBLSN_CONDB ein. Klicken Sie auf OK.

  2. Starten Sie Interactive SQL:

    Im linken Fensterausschnitt rechtsklicken Sie auf die Datenbank und wählen Sie Interactive SQL öffnen.

  3. Führen Sie die folgenden Anweisungen aus, um die Tabellen Dealer und non_sync_request einzurichten:

    CREATE TABLE Dealer (
        name           VARCHAR(10) NOT NULL PRIMARY KEY,
        rating         VARCHAR(5),
        last_modified  TIMESTAMP DEFAULT TIMESTAMP
    )
    
    CREATE TABLE non_sync_request(
        poll_key       varchar(128)
    )
  4. Fügen Sie die Daten in die Tabelle Dealer mithilfe der folgenden Anweisungen ein:

    INSERT INTO Dealer(name, rating) VALUES ('Audi', 'a');
    INSERT INTO Dealer(name, rating) VALUES ('Buick', 'b');
    INSERT INTO Dealer(name, rating) VALUES ('Chrysler', 'c');
    INSERT INTO Dealer(name, rating) VALUES ('Dodge', 'd');
    INSERT INTO Dealer(name, rating) VALUES ('Eagle', 'e');
    INSERT INTO Dealer(name, rating) VALUES ('Ford', 'f');
    INSERT INTO Dealer(name, rating) VALUES ('Geo', 'g');
    INSERT INTO Dealer(name, rating) VALUES ('Honda', 'h');
    INSERT INTO Dealer(name, rating) VALUES ('Isuzu', 'I');
    COMMIT;
  5. Führen Sie den folgenden Befehl aus, um die MobiLink-Systemtabellen und die gespeicherten Prozeduren zu erstellen. Ersetzen Sie c:\Programme\SQL Anywhere 11\ durch den Speicherort Ihrer SQL Anywhere 11-Installation.

    read "c:\Programme\SQL Anywhere 11\MobiLink\setup\syncsa.sql"
  6. Führen Sie folgende Anweisungen aus, um ein download_cursor-Synchronisationsskript anzugeben und den Synchronisationsstatus in der ml_sis_sync_state-Systemtabelle aufzuzeichnen.

    CALL ml_add_table_script(
        'CarDealer',
        'Dealer',
        'download_cursor',
        'SELECT * FROM Dealer WHERE last_modified >= ?'
    )
    CALL ml_add_connection_script(
        'CarDealer',
        'publication_nonblocking_download_ack',
        'CALL ml_set_sis_sync_state( 
    			     {ml s.remote_id},
            NULL,
         			{ml s.publication_name},
         			{ml s.username},
         			NULL,
         			{ml s.last_publication_download}
        )'
    )
    COMMIT;

    Dieses Skript legt ml_sis_sync_state fest, um die Synchronisation mit reinem Download aufzuzeichnen. Die Aufzeichnung des Synchronisationsstatus gestattet es, das ml_sis_sync_state request_cursor-Ereignis vom request_cursor-Ereignis aus zu referenzieren. Das request_cursor-Ereignis legen Sie in der nächsten Lektion fest.

  7. Schließen Sie Interactive SQL.

Siehe auch