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 プラグインのヘルプ » [マッピング] タブ

 

[マッピング]:[テーブルマッピング]

[テーブルマッピング] ウィンドウ枠には、統合データベースのテーブルとリモートデータベースのテーブル間の各テーブルマッピングごとに 1 つのローがあります。テーブルマッピングは、変更、追加、または削除できます。

各カラムには、同期モデル作成ウィザードで選択した値、または選択しなかった場合はウィザードのデフォルト値が表示されます。これらの値は、このテーブルを編集してテーブルごとに変更できます。

[テーブルマッピング] ウィンドウ枠には、次のカラムがあります。

  • 序数のカラム   このカラムにタイトルはありません。テーブル内のグリッド線の番号を示します。カラムの見出しをクリックしてテーブルのソート順序を変更してもグリッド番号は変わりません。リモートテーブルが追加、削除するようマーク付け、または修正された場合は、このカラムにアイコンが表示されます。

  • [ステータス] カラム   このカラムは、テーブルマッピングにエラーメッセージ、警告メッセージ、または情報メッセージがあるかどうかを示します。このカラムにアイコンが表示されている場合は、テーブルマッピングを選択し、[詳細] ウィンドウ枠の [ステータス] タブを開くと、メッセージの内容を確認できます。

  • [統合テーブル] カラム   統合データベースで同期するテーブルを示します。カッコ内にテーブルの所有者名が表示されます。同期される統合テーブルのみが表示されます。統合テーブルを同期する必要がなくなった場合に、テーブルマッピングを削除するには、[テーブルマッピング] ウィンドウ枠でローを右クリックし、[削除] を選択するか、[方向][同期しない] に変更してモデルを保存します。

    [詳細] ウィンドウ枠の [カラムマッピング] タブには、選択したテーブルマッピングでの統合カラムとリモートカラムのマッピングが表示されます。

  • [方向] カラム   同期の方向を示します。方向は、[同期しない][双方向][リモートにのみダウンロード][統合にのみアップロード] のいずれかです。[同期しない] とマーク付けされているテーブルマッピングは、次回同期モデルが保存されたときに削除されます。

  • [リモートテーブル] カラム   対応する統合テーブルと同期されるリモートテーブルを示します。カラムをクリックして、リモートテーブルのリストから別のテーブルを選択すると、リモートテーブルを変更できます。

    リモートテーブルが 1 つも選択されていない場合、テーブルマッピングは無効です。

  • [ダウンロードタイプ] カラム   [詳細] ウィンドウ枠の [ダウンロードタイプ] タブで実装内容の表示や変更ができます。このカラムには、次のオプションがあります。

    • [タイムスタンプ]   最後のダウンロードの後に変更された場合にのみデータをダウンロードします。タイムスタンプベースのダウンロードを使用するときは、ローの変更を追跡するために、統合テーブルごとにタイムスタンプカラムが必要です。変更を追跡するには、統合データベースのテーブルにカラムを追加するか、シャドウテーブルを作成します。シャドウテーブルは、ベーステーブルと同じ所有者で作成されます。[タイムスタンプ] を選択すると、モデルの展開時に必要なオブジェクトが自動的に生成されます。タイムスタンプベースのダウンロードの実装を参照してください。

    • [スナップショット]   統合データベース内のデータがすでにダウンロードされている場合も、同期のたびにすべてダウンロードします。スナップショットを使った同期を参照してください。

    • [カスタム]   download_cursor スクリプトと download_delete_cursor スクリプトを自動的に生成しないで独自に作成します。スクリプトは [イベント] タブで作成できます。download_cursor スクリプトdownload_delete_cursor スクリプトを参照してください。

  • [削除のダウンロード] カラム   このチェックボックスがオンの場合、統合データベースで削除されたデータが、リモートデータベースで削除されます。

    タイムスタンプベースの同期を使用するときにこのカラムを選択する場合は、統合データベースでの削除を記録する必要があります。記録するには、シャドウテーブルを使用するか (デフォルト)、論理的削除を使用します。[詳細] ウィンドウ枠の [削除のダウンロード] タブを開くと、実装内容の表示や変更ができます。

    スナップショットダウンロードを使用するときにこのカラムを選択すると、リモートデータベース内に既存のローは、ダウンロードされたローが追加される前にすべて削除されます。

    ダウンロードタイプが [カスタム] の場合は、このオプションを選択できません。この場合は、独自の download_delete_cursor スクリプトを作成する必要があります。スクリプトは [イベント] タブで作成できます。

  • [サブセットのダウンロード] カラム   このカラムには、次のオプションがあります。

    • [なし]   各リモートデータベースに同じデータをダウンロードします。

    • [ユーザー]   各同期ユーザー (Mobile Link ユーザー) は、同じテーブルまたは直接ジョインしたテーブルのカラムとユーザー名が一致するローだけをダウンロードします。[詳細] ウィンドウ枠の [サブセットのダウンロード] タブで実装内容を表示または変更できます。

    • [リモート]   リモート ID が、同じテーブルまたは直接ジョインしたテーブルのカラムと一致するローだけが各リモートデータベースにダウンロードされます。[詳細] ウィンドウ枠の [サブセットのダウンロード] タブで実装内容を表示または変更できます。

      注意

      リモート ID は、リモートコンピューターがリセットされるか、置き換えられたときに変更される場合があるため、通常、リモート ID 別ではなく、ユーザー別、または認証パラメーター別に分割することをおすすめします。

    • [カスタム]   ダウンロードカーソルの WHERE 句内の SQL 式を満たすローだけがダウンロードされます。このオプションは、ダウンロードカーソルの WHERE 句に複数のジョインや特定のビジネスロジックが必要な場合に便利です。この式は、[詳細] ウィンドウ枠の [サブセットのダウンロード] タブで表示または変更できます。

  • [削除サブセット] カラム   このカラムには、次のオプションがあります。

    • [なし]   ダウンロード削除サブセットを作成しません。

    • [同じ]   このサブセットをダウンロードサブセットとまったく同じコピーにします。

    • [カスタム]   カスタムダウンロード削除サブセットを作成します。

  • [競合の検出] カラム   このカラムには、次のオプションがあります。

    • [なし]   競合の有無を確認しないで、アップロードされた更新を常に適用します。このオプションは、パフォーマンスが最高です。

    • [ローベース]   最後の同期後に、リモートデータベースと統合データベースの両方でローが更新されていた場合に競合が検出されます。

    • [カラムベース]   リモートデータベースと統合データベースの両方で、ローの同じカラムが更新されていた場合にのみ競合が検出されます。それ以外の場合は、アップロードされたカラムの更新だけが適用されます。テーブルに BLOB のカラムがある場合は、ローベースの競合の検出を使用する必要があります。

  • [競合の解決] カラム   このカラムには、次のオプションがあります。

    • [統合]   先入れ勝ちです。アップロードされた更新が競合する場合は拒否されます。

    • [リモート]   後入れ勝ちです。アップロードされた更新が常に適用されます。このオプションは、カラムベースの検出を行う場合にのみ使用します。それ以外の場合は、競合の検出を無効にすると、より高いパフォーマンスで同じ結果が得られます。

    • [タイムスタンプ]   維持しているタイムスタンプカラムを使用して、新しい変更の勝ちです。タイムスタンプカラムに、ローが最後に変更された時刻が記録されます。このカラムは、リモートテーブルと統合テーブルの両方に存在し、また同期に含まれる必要があります。これを機能させるには、リモートデータベースと統合データベースで同じタイムゾーン (UTC を推奨) を使用し、かつクロックが同期されている必要があります。

    • [カスタム]   resolve_conflict スクリプトを自動的に生成しないで独自に作成します。スクリプトは [イベント] タブで作成できます。

 参照