このレッスンでは、同期モデルを変更します。
前提条件
このレッスンは、受講者がこれまでのすべてのレッスンを終了していることを前提としています。 レッスン 1:スキーマの設計を参照してください。
このレッスンでは、このチュートリアルの冒頭の「パーミッションと権限」セクションに一覧になっているロールおよび権限を持っていることを前提としています。 チュートリアル:Adaptive Server Enterprise 統合データベースと Mobile Link の使用
ase_remote_schema 同期モデルを右クリックして、[プロパティ] を選択します。
次のタスクを実行します。
最初のフィールドに、sync_ase と入力します。
[パブリケーション名] フィールドに、sync_ase_publication と入力します。
[スクリプトバージョン] フィールドに sync_ase_scriptversion と入力します。
パブリケーションは、同期するデータを指定するリモートデータベース上のオブジェクトです。Mobile Link サーバのスクリプトにより、リモートデータベースからアップロードされたデータを統合データベースに適用する方法と、スクリプトバージョンによりスクリプトをグループ化する方法が定義されます。アプリケーションごとに異なるスクリプトバージョンを使用できるため、1 つの Mobile Link サーバを管理するだけで複数のアプリケーションを同期できます。
[適用] をクリックしてから [OK] をクリックします。
同期モデルのテーブルごとに、データの同期方向を設定します。
右ウィンドウ枠で [マッピング] タブをクリックし、[マッピング方向] カラムのローを次のように設定します。
リモートデータベースにダウンロードされたローを、リモート ID を基準として次のようにフィルタします。
stores テーブルが含まれるローを選択し、[サブセットのダウンロード] タブをクリックします。
[サブセットのダウンロード] を [カスタム] に変更します。
download_cursor スクリプトの WHERE 句に制限を追加することで、リモート ID を基準としてローをフィルタします。これで、リモートデータベースがユニークに識別されます。
[ダウンロードカーソルの WHERE 句で使用する SQL 式] フィールドに探索条件を入力します。たとえば、次の SQL スクリプトは、stores テーブルに使用できます。
"dbo"."stores"."stor_id" = {ml s.remote_id} |
ダウンロードカーソルスクリプトは、各テーブルからどのカラムとローをリモートデータベースにダウンロードするかを指定します。探索条件の指定により、1 つの書店 (データベースのリモート ID が一致する書店) に関する情報のみをダウンロードするようにできます。
[ダウンロード削除サブセット] タブをクリックし、[ダウンロード削除サブセット] を [同じ] から [なし] に変更します。
sales、salesdetail、discounts の各テーブルを含むローについて、前の手順を繰り返します。
SQL スクリプトで指定されたテーブルの名前は、編集するロー内のテーブル名に変更してください。
sales テーブルには、次の WHERE 句スクリプトを使用します。
"dbo"."sales"."stor_id" = {ml s.remote_id} |
salesdetail テーブルには、次の WHERE 句スクリプトを使用します。
"dbo"."salesdetail"."stor_id" = {ml s.remote_id} |
discounts テーブルには、次の WHERE 句スクリプトを使用します。
"dbo"."discounts"."stor_id" = {ml s.remote_id} |
同期モデルを保存します。
[ファイル] » [保存] をクリックします。
![]() |
DocCommentXchange で意見交換できます
|
Copyright © 2013, SAP AG or an SAP affiliate company. - SAP Sybase SQL Anywhere 16.0 |