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 チュートリアル » チュートリアル:Oracle Database 10g での Mobile Link の使用

 

レッスン 6:同期モデルの作成と変更

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

このレッスンでは、統合データベースの同期モデルを作成します。[同期モデル作成ウィザード] を使用すると、統合データベースとリモートデータベースの間の同期を順を追って設定できます。

 ♦ 同期モデルの作成と変更
  1. [ようこそ] ページで、[新しい同期モデルの名前を指定してください。] フィールドに sync_oracle と入力し、[次へ] をクリックします。

  2. [プライマリキー要件] ページで、3 つのチェックボックスをオンにします。[次へ] をクリックします。

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

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

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

    • CUSTOMERS
    • ORDERS
    • ORDER_ITEMS
    • PRODUCT_INFORMATION
  6. [次へ] をクリックします。

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

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

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

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

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

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

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

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

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

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

    同期モデルの編集時にカスタム論理を使用して、特定のデータをリモートデータベースにダウンロードする方法を指定します。

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

    このチュートリアルでは競合検出を実行しないよう指定していますが、多くのアプリケーションでは競合検出が必要になります。

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

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

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

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

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

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

  14. Sybase Central の左ウィンドウ枠の [Mobile Link 12] で、oracle_project[同期モデル]sync_oracle の順に展開します。

  15. 同期モデルのテーブルごとに、データの同期方向を設定します。

    右ウィンドウ枠で [マッピング] タブをクリックし、[方向] カラムのローを次のように設定します。

    • ORDERSORDER_ITEMS の各テーブルは、[双方向] (アップロードとダウンロードの両方) に設定します。
    • 残りのテーブルは、[リモートにのみダウンロード] に設定します。
  16. すべての所有者の統合スキーマのロードのために時間がかかるというウィンドウが表示された場合、HR および OE ユーザーのデータベーススキーマをロードすることを選択します。

  17. リモートデータベースにダウンロードされたローを、リモート ID を基準として次のようにフィルターします。

    1. ORDERS テーブルを含むローでは、[サブセットのダウンロード] カラムを [カスタム] に変更します。

    2. 右ウィンドウ枠下部の [サブセットのダウンロード] タブをクリックします。

    3. download_cursor スクリプトの WHERE 句に制限を追加することで、リモート ID を基準としてローをフィルターします。これで、リモートデータベースがユニークに識別されます。

      [ダウンロードカーソルの WHERE 句で使用する SQL 式] フィールドに探索条件を入力します。たとえば、次の SQL スクリプトは、ORDERS テーブルに使用できます。

      OE.ORDERS.SALES_REP_ID = {ml s.remote_id}

      ダウンロードカーソルスクリプトは、各テーブルからどのカラムとローをリモートデータベースにダウンロードするかを指定します。探索条件の指定により、1 人の営業担当者 (データベースのリモート ID が一致する営業担当者) に関する情報のみをダウンロードするようにできます。

    4. [削除サブセット] カラムを [同じ] から [なし] に変更します。

  18. 同期モデルを保存します。

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

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

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

 参照