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 クイックスタート » Mobile Link チュートリアル » チュートリアル:SQL Anywhere 統合データベースでの Mobile Link の使用

 

レッスン 3:同期モデルの作成

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

このレッスンでは、[同期モデル作成ウィザード] を使用して新しい同期モデルを作成します。

モデルを作成する前に、[プロジェクト作成ウィザード] を使用して新しい Mobile Link プロジェクトを作成する必要があります。[プロジェクト作成ウィザード] から [同期モデル作成ウィザード] にアクセスできます。

 ♦ 新しい Mobile Link プロジェクトと同期モデルの作成
  1. [スタート]  » [プログラム]  » [SQL Anywhere 12]  » [管理ツール]  » [Sybase Central] をクリックします。

  2. [ツール]  » [Mobile Link 12]  » [新しいプロジェクト] をクリックします。

    [プロジェクト作成ウィザード] が表示されます。

  3. [新しいプロジェクトの名前を指定してください。] フィールドに、mlsqla_project と入力します。

  4. [新しいプロジェクトの保存場所を指定してください。] フィールドに C:\mlsqla と入力し、[次へ] をクリックします。

  5. [統合データベースをプロジェクトに追加] オプションを選択します。

  6. [データベースの表示名] フィールドに demo と入力します。

  7. [編集] をクリックします。

  8. [汎用 ODBC データベースに接続] ページで次のタスクを実行します。

    1. [ODBC データソース名] フィールドで、[参照] をクリックして SQL Anywhere 12 Demo を選択します。

    2. [OK] をクリックし、[保存] をクリックします。

  9. [パスワードを記憶] オプションを選択し、[次へ] をクリックします。

  10. [新しいモデルを作成する] を選択して [次へ] をクリックします。

  11. [リモートスキーマ名をプロジェクトに追加] オプションを選択します。

  12. [新しいリモートスキーマ名を指定してください。] フィールドに mlsqla_remote_schema と入力します。

  13. [このリモートスキーマ名を適用するデータベースのタイプを指定してください。] オプションから [Ultra Light] を選択し、[完了] をクリックします。

  14. Mobile Link 設定スクリプトをインストールするように要求されたら [はい] をクリックします。

  15. [OK] をクリックします。

    [同期モデル作成ウィザード] が表示されます。

  16. [新しい同期モデルの名前を指定してください。] フィールドに sync_mlsqla と入力し、[次へ] をクリックします。

  17. [プライマリキー要件] ページで、3 つのチェックボックスをすべて選択します (レッスンの後半でユニークなプライマリキーを設定します)。[次へ] をクリックします。

  18. リストから demo 統合データベースを選択し、[次へ] をクリックします。

  19. [いいえ、新しいリモートデータベーススキーマを作成します] をクリックし、[次へ] をクリックします。

  20. [新しいリモートデータベーススキーマ] ページの [リモートデータベースに含める統合データベースのテーブルとカラムを指定してください。] リストで、次のテーブルを選択します。

    • Customers
    • CustomerProducts
    • Products
    • SalesOrders
  21. [次へ] をクリックします。

  22. [タイムスタンプベースのダウンロード] をクリックし、[次へ] をクリックします。

    タイムスタンプベースのダウンロードでは、前回のダウンロード以降に更新されたデータのみが転送されるため、データ量を最小限に抑えることができます。

  23. [タイムスタンプダウンロードのオプション] ページで、[シャドウテーブルを使用してタイムスタンプカラムを保持する] をクリックし、[次へ] をクリックします。

    シャドウテーブルを使用すると既存のテーブルを変更する必要がないため、推奨されることが多くあります。

  24. [削除のダウンロード] ページで、次のタスクを実行します。

    1. [統合データベース上で削除されたデータを、リモートデータベース上で削除しますか ?] オプションに [はい] をクリックします。

    2. [シャドウテーブルを使用して削除を記録する] をクリックします。

      シャドウテーブルが統合データベースに作成され、同期が必要な削除が実装されます。

    3. [次へ] をクリックします。

  25. [はい、各リモートデータベースに同じデータをダウンロードします] をクリックします。

  26. [次へ] をクリックします。

  27. [競合検出を実行しない] をクリックし、[次へ] をクリックします。

  28. [パブリケーション、スクリプトバージョン、説明] ページで、次のタスクを実行します。

    1. [パブリケーションの名前を指定してください。] フィールドに sync_mlsqla_publication と入力します。

    2. [スクリプトバージョンの名前を指定してください。] フィールドに sync_mlsqla_scriptversion と入力します。

      パブリケーションは、同期するデータを指定するリモートデータベース上のオブジェクトです。Mobile Link サーバーのスクリプトにより、リモートデータベースからアップロードされたデータを統合データベースに適用する方法と、スクリプトバージョンによりスクリプトをグループ化する方法が定義されます。アプリケーションごとに異なるスクリプトバージョンを使用できるため、1 つの Mobile Link サーバーを管理するだけで複数のアプリケーションを同期できます。

    3. [完了] をクリックします。

  29. Sybase Central で、[ビュー]  » [フォルダー] をクリックします。

  30. [Mobile Link 12] の左ウィンドウ枠で、mlsqla_project[同期モデル]sync_mlsqla の順に展開します。

  31. Sybase Central の右ウィンドウ枠で次のタスクを実行します。

    1. [イベント] タブをクリックします。

    2. Customers テーブルのダウンロードカーソルを更新して、東部地域の顧客情報だけをダウンロードするようにします。

      Customers テーブル用の download_cursor イベントの既存の SQL スクリプトを次のクエリに置き換えます。



      SELECT "GROUPO"."Customers"."ID",
      	"GROUPO"."Customers"."Surname",
      	"GROUPO"."Customers"."GivenName",
      	"GROUPO"."Customers"."Street",
      	"GROUPO"."Customers"."City",
      	"GROUPO"."Customers"."State",
      	"GROUPO"."Customers"."Country",
      	"GROUPO"."Customers"."PostalCode",
      	"GROUPO"."Customers"."Phone",
      	"GROUPO"."Customers"."CompanyName",
      	"GROUPO"."Customers"."Region"
      FROM "GROUPO"."Customers"
      INNER JOIN "GROUPO"."Customers_mod" ON "GROUPO"."Customers"."ID" = 
          "GROUPO"."Customers_mod"."ID"
      WHERE Region = 'Eastern';
    3. CustomerProducts ダウンロードカーソルを更新して、東部地域の顧客向けの顧客製品だけをダウンロードするようにします。

      CustomerProductss テーブル用の download_cursor イベントの既存の SQL スクリプトを次のクエリに置き換えます。

      SELECT "DBA"."CustomerProducts"."ID", 
          "DBA"."CustomerProducts"."SalesOrderID", 
          "DBA"."CustomerProducts"."CustomerID", 
          "DBA"."CustomerProducts"."ProductID" 
      FROM "DBA"."CustomerProducts" 
      INNER JOIN "GROUPO"."Customers" ON "GROUPO"."Customers"."ID" = 
          "DBA"."CustomerProducts"."CustomerID"
      WHERE "GROUPO"."Customers"."Region" = 'Eastern';
    4. SalesOrders ダウンロードカーソルを更新して、東部地域の顧客向けの注文情報だけをダウンロードするようにします。

      SalesOrders テーブル用の download_cursor イベントの既存の SQL スクリプトを次のクエリに置き換えます。



      SELECT "GROUPO"."SalesOrders"."ID",
           "GROUPO"."SalesOrders"."CustomerID",
           "GROUPO"."SalesOrders"."OrderDate",
           "GROUPO"."SalesOrders"."FinancialCode",
           "GROUPO"."SalesOrders"."Region",
           "GROUPO"."SalesOrders"."SalesRepresentative"
      FROM "GROUPO"."SalesOrders"
      WHERE "GROUPO"."SalesOrders"."Region" = 'Eastern' 
      AND "GROUPO"."SalesOrders"."ID" IN 
      (SELECT "DBA"."CustomerProducts"."SalesOrderID" 
      FROM "DBA"."CustomerProducts");
  32. 同期モデルを保存します。

    [ファイル]  » [保存] をクリックします。

    同期モデルが完成して、展開の準備が完了します。

  33. レッスン 4:同期モデルの展開に進みます。

 参照