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

SQL Anywhere 12.0.1 » Mobile Link サーバー起動同期 » サーバー起動同期チュートリアル » チュートリアル:ライトウェイトポーリングを使用したサーバー起動同期の設定

 

レッスン 2:データベーススキーマの生成

このレッスンは、受講者がこれまでのすべてのレッスンを終了していることを前提としています。 レッスン 1:統合データベースの設定を参照してください。

このレッスンでは、1 つのデータベーススキーマを生成します。このスキーマには、Dealer テーブル、non_sync_request テーブル、download_cursor 同期スクリプトが含まれます。このデータベーススキーマは、Push 要求を生成するための稼働条件を満たしています。

 ♦ データベーススキーマの設定
  1. [スタート] » [プログラム] » [SQL Anywhere 12] » [管理ツール] » [Sybase Central] をクリックします。

  2. 次のタスクを実行して、統合データベースに接続します。

    1. [接続][SQL Anywhere 12 に接続] をクリックします。

    2. [アクション] ドロップダウンリストから、[ODBC データソースを使用した接続] を選択します。

    3. [ODBC データソース名] をクリックし、[参照] をクリックします。

    4. SIS_CarDealer_LP_DBLSN_CONDB を選択し、[OK] をクリックします。

    5. [接続] をクリックします。

  3. Interactive SQL を使用してデータベースに接続します。

    Interactive SQL は、Sybase Central またはコマンドプロンプトから起動できます。

    • Sybase Central から Interactive SQL を起動するには、SIS_CarDealer_LP_DBLSN_CONDB - DBA データベースを右クリックし、[Interactive SQL を開く] をクリックします。

    • コマンドプロンプトで Interactive SQL を起動するには、次のコマンドを実行します。

      dbisql -c "dsn=SIS_CarDealer_LP_DBLSN_CONDB"
  4. 次の SQL 文を実行し、Dealer テーブルと non_sync_request テーブルを作成して設定します。

    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. 次の文を使用して、Dealer テーブルにデータを挿入します。



    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. 次の SQL 文を実行して Mobile Link のシステムテーブルとストアドプロシージャーを作成します。C:\Program Files\SQL Anywhere 12\ は、SQL Anywhere 12 インストール環境のロケーションに置き換えてください。

    READ "C:\Program Files\SQL Anywhere 12\MobiLink\setup\syncsa.sql"
  7. 次の SQL スクリプトを実行し、download_cursor 同期スクリプトを指定して ml_sis_sync_state システムテーブルに同期ステータスを記録します。



    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;

    このスクリプトによって、ダウンロード専用同期を記録するように ml_sis_sync_state が設定されます。同期ステータスを記録すると、request_cursor イベントから ml_sis_sync_state システムテーブルを参照できます。次のレッスンでは request_cursor イベントを指定します。

  8. Interactive SQL を閉じます。

  9. レッスン 3:Mobile Link プロジェクトの作成に進みます。

 参照