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

SQL Anywhere 12.0.0 (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. Wählen Sie Start » Programme » SQL Anywhere 12 » Administrationstools » Sybase Central.

  2. Führen Sie die folgenden Aufgaben auch, um zur konsolidierten Datenbank eine Verbindung herzustellen.

    1. Im Menü Verbindungen wählen Sie Verbinden mit SQL Anywhere 12.

    2. Wählen Sie in der Dropdown-Liste Aktion die Option Mit einer ODBC-Datenquelle verbinden.

    3. Klicken Sie auf ODBC-Datenquellenname und dann auf Durchsuchen.

    4. Wählen Sie SIS_CarDealer_LP_DBLSN_CONDB und klicken Sie anschließend auf OK.

    5. Klicken Sie auf Verbinden.

  3. Verwenden Sie Interactive SQL, um sich mit Ihrer Datenbank zu verbinden.

    Sie können Interactive SQL über Sybase Central oder eine Eingabeaufforderung starten.

    • Um Interactive SQL aus Sybase Central zu starten, rechtsklicken Sie auf die SIS_CarDealer_LP_DBLSN_CONDB - DBA-Datenbank und auf Interactive SQL öffnen.

    • Um Interactive SQL an einer Eingabeaufforderung zu starten, führen Sie folgenden Befehl aus:

      dbisql -c "dsn=SIS_CarDealer_LP_DBLSN_CONDB"
  4. Führen Sie das folgende SQL-Skript 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)
    )
  5. 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;
  6. Führen Sie das folgende SQL-Skript aus, um die MobiLink-Systemtabellen und die gespeicherten Prozeduren zu erstellen. Ersetzen Sie C:\Programme\SQL Anywhere 12\ durch den Pfad Ihrer SQL Anywhere 12-Installation.

    READ "C:\Programme\SQL Anywhere 12\MobiLink\setup\syncsa.sql"
  7. Führen Sie das folgende SQL-Skript 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}
        )'
    );
    
    CALL ml_add_table_script(
        'CarDealer', 'Dealer', 'download_delete_cursor', '--{ml_ignore}'
    );
    
    COMMIT;

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

  8. Schließen Sie Interactive SQL.

 Siehe auch