同期モデル作成ウィザードを使用すると、統合データベースとリモート・データベースの間の同期を順を追って設定できます。
Sybase Central を起動します。
[ツール] - [Mobile Link 11] - [Mobile Link の同期の設定] を選択します。
[ようこそ] ページの [新しい同期モデルの名前を指定してください。] フィールドに sync_ase と入力し、新しいモデルのロケーションを指定します。[次へ] をクリックします。
[プライマリ・キー要件] ページで、3 つのチェック・ボックスをすべて選択します (レッスン 2 でユニークなプライマリ・キーが設定されています)。[次へ] をクリックします。
[統合データベース・スキーマ] ページで、次の操作を行います。
[統合データベースの選択] をクリックします。
[ODBC データ・ソース名] をクリックし、ase_cons を選択します。
[ユーザ ID] フィールドに sa と入力します。
[パスワード] フィールドに sa と入力します。
[OK] をクリックします。
Mobile Link が今回初めて統合データベースを使用する場合、Mobile Link システム設定をインストールするかどうか確認するメッセージが表示されます。[はい] をクリックします。
[次へ] をクリックします。
[リモート・データベース・スキーマ] ページで、[いいえ、新しいリモート・データベース・スキーマを作成します] をクリックします。[次へ] をクリックします。
[新しいリモート・データベース・スキーマ] ページ、[リモート・データベースに含める統合データベース・テーブルを指定してください。] リストで、次のテーブルを選択します。
[次へ] をクリックします。
[ダウンロード・タイプ] ページで、[タイムスタンプベースのダウンロード] をクリックします。[次へ] をクリックします。
タイムスタンプベースのダウンロードを選択すると、前回のダウンロード以降に更新されたデータのみが転送されるため、データ量を最小限に抑えることができます。
[タイムスタンプ・ダウンロードのオプション] ページで、[シャドー・テーブルを使用してタイムスタンプ・カラムを保持する] をクリックします。[次へ] をクリックします。
シャドー・テーブルを使用すると既存のテーブルを変更する必要がないため、推奨されることが多くあります。
[削除のダウンロード] ページで、次の操作を行います。
[統合データベース上で削除されたデータを、リモート・データベース上で削除しますか ?] フィールドで、[はい] をクリックします。
[シャドー・テーブルを使用して削除を記録する] をクリックします。
シャドー・テーブルが統合データベースに作成され、削除が実装されます。
[次へ] をクリックします。
[サブセットのダウンロード] ページで、[はい、各リモート・データベースに同じデータをダウンロードします] をクリックします。[次へ] をクリックします。
モデル・モードのレッスンの手順 2 で、カスタム論理を使用して特定のデータをリモート・データベースにダウンロードする方法を指定します。
[アップロード競合の検出] ページで、[競合検出を実行しない] をクリックします。[次へ] をクリックします。
このチュートリアルでは競合検出を実行しないよう指定していますが、多くのアプリケーションでは競合検出が必要になります。
[パブリケーション、スクリプト・バージョン、説明] ページで、次の操作を行います。
[パブリケーションの名前を指定してください。] フィールドに sync_ase_publication と入力します。
[スクリプト・バージョンの名前を指定してください。] フィールドに sync_ase_scriptversion と入力します。
パブリケーションは、同期するデータを指定するリモート・データベース上のオブジェクトです。Mobile Link サーバのスクリプトにより、リモート・データベースからアップロードされたデータを統合データベースに適用する方法と、スクリプト・バージョンによりスクリプトをグループ化する方法が定義されます。アプリケーションごとに異なるスクリプト・バージョンを使用できるため、1 つの Mobile Link サーバを管理するだけで複数のアプリケーションを同期できます。
[完了] をクリックします。
モデルがモデル・モードで表示されます。
データの同期方向を指定するには、[マッピング方向] カラムで次のように方向を設定します。
リモート・データベースにダウンロードされたローを、リモート ID を基準として次のようにフィルタします。
stores テーブルで、[サブセットのダウンロード] を [カスタム] に変更します。
画面下部の [サブセットのダウンロード] タブを開きます。
リモート ID はリモート・データベースをユニークに識別します。リモート ID を基準にローをフィルタするには、download_cursor スクリプトの WHERE 句に制限を追加します。この処理を行うには、[ダウンロード・カーソルの WHERE 句で使用する SQL 式] テキスト・ボックスで次のように探索条件を入力します。
"dbo"."stores"."stor_id" = {ml s.remote_id} |
ダウンロード・カーソル・スクリプトは、各テーブルからどのカラムとローをリモート・データベースにダウンロードするかを指定します。探索条件の指定により、1 つの書店 (データベースのリモート ID が一致する書店) に関する情報のみをダウンロードするようにすることができます。
sales、salesdetail、discounts の各テーブルに対して、次の手順を実行します。式でテーブル名を適切に変更してください。
同期モデルを保存します。
同期モデルが完成して、展開の準備が完了します。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |