複製されたデータのフィルターの作成

このタスクは、DataPropagator サブスクリプションを作成するための より大きなタスクの一部です。以下のステップを完了したら、 『DataPropagator サブスクリプションの 作成』に戻ってください。

手順

  1. 「レプリケーション・サブスクリプションの定義」ウィンドウにおいて、列または行のフィルター操作 を定義する表を選択します。
  2. 拡張」を クリックします。「拡張サブスクリプションの定義 (Advanced Subscription Definition)」ノートブックがオープンします。
  3. オプショナル: サブスクリプションに組み込みたい行を個別に選択する WHERE 文節を定義します。 すべての列がレプリカに表示されるようにする場合でも、 特定の行のみをサブスクリプションに入れたい場合があります。
    1. 「拡張サブスクリプションの定義 (Advanced Subscription Definition)」ウィンドウの 「行」ページへ進みます。
    2. すべての行」フィールドで、サブスクリプションに表示する行の選択を定義する WHERE 文節を入力します。ステップ 1 で選択した表だけを使用できます。

      例えば、JOBCODE 列の値が VNURSE である PATIENTS 表におけるデータ行のみを 訪問看護婦が見るようにすると仮定します。この場合は、次の WHERE 文節を入力することができます。

      JOBCODE='VNURSE'
      

      文節の先頭に WHERE キーワードを使用してはなりません。

      例 (Examples)」をクリックして、サンプル WHERE 文節を表示することができます。

    3. 個々のユーザーがもつ行のサブセット」フィールドに、 個々のユーザーが見ることができる行をさらに制限するために、SQL WHERE 文節によく似た文節を 入力することができます。文節の先頭に「WHERE」と入力しないでください。ユーザーによって値 を変えられるパラメーターを使用することもできます。 グループ・レベルまたはユーザー・レベルでのフィルターの定義についての 詳細は、サブスクリプション・レベルでのデータのフィルター操作を参照してください。

      例えば、ユーザーが見ることが できるデータを、ジョブ・コードに関連するデータだけに限定したいと仮定します。 全体のサブスクリプションの JOBCODE パラメーターの値をハードコーディングする代わりに、 個々のユーザーごとに定義されたデータ・フィルターを参照する変数を定義してください。

      JOBCODE=':JOB'
      

      個々のユーザーのデータ・フィルターに、それぞれのユーザーのジョブ・コ ードに対する :JOB パラメーターを設定することができます。 個々のユーザーのためのデータのフィルター操作についての詳細 は、ユーザーが使用可能なデータのフィルター操作および サブスクリプション・レベルでのデータのフィルター操作を参照してください。

    4. OK」をクリックして、 「拡張サブスクリプションの定義 (Advanced Subscription Definition)」ウィンドウをクローズします。
注:
一連の変更は、ユーザーのデバイス上にある DB2 Everyplace の表の 単一行に対して行われ、単一の累積変更として同期サーバーに通知されます。 その結果、操作中に同期化が行われなければ、同じ主キーに対し DELETE および INSERT の順に行われると、同期サーバーには UPDATE として 通知されます。操作中に同期が行われると、これらは別個に通知されます。 これによって、サブスクリプションがソース表とユーザー表のすべての列に転送 されない場合に、不整合となる可能性が生じます。UPDATE はサブスクライブしていない列の現行値を 保存しますが、INSERT はサブスクライブしていない列にデフォルト値を設定するからです。

関連した概念

関連したタスク