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

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

 

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

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

前提条件

このレッスンでは、このチュートリアルの開始時に、権限のセクションで一覧されているロールと権限を持っていることを前提としています。 チュートリアル:ライトウェイトポーリングを使用したサーバ起動同期の設定

 ♦ タスク
  1. [スタート] » [プログラム] » [SQL Anywhere 16] » [管理ツール] » [Sybase Central] をクリックします。

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

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

    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 16\ は、SQL Anywhere 16 インストール環境のロケーションに置き換えてください。

    READ "C:\Program Files\SQL Anywhere 16\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 を閉じます。

結果

データベーススキーマが作成されます。

 参照