DB2 Everyplace 同期サーバー ヘルプ


サブスクリプションのデータをフィルター処理する

特定の表 (たとえば、巡回医療サービスのグループの「患者」表) 用のサブスクリプションを作成する場合に、パフォーマンスを考慮し、その表内のデータの一部だけを複写するよう強制されることがあります。サブスクリプションの表ごとに複写される行を個別に選択することによって、この部分を指定します。

たとえば、「患者」表を使用している巡回医療サービスに関係する列は「患者名」、「アドレス」、「電話番号」、および「医者」フィールドだけであると決定することができます。また、ある医者のもとで働いている看護婦のデータをフィルター処理する WHERE 文節を定義することによって、さらにデータをフィルター処理できます。

将来であっても、データを削減するために、サブスクリプションのデータ・フィルターをグループまたは個々のユーザーのファイル・セットと結合することができます。

同期サーバーは、DB2 DataPropagator によって許可されている複写オプションの一部だけをサポートしています。そのため「拡張サブスクリプション定義」ノートブックの「ターゲット・タイプ」ページでは、「ターゲット表はレプリカ」ラジオ・ボタンがデフォルトで選択されており、これを変更することはできません。

以下のステップは、DataPropagator サブスクリプションを作成または編集する、より大きなタスクの一部です。データをフィルター処理するためのステップを完了したら、メインタスクに戻ってください。



同期化中に複写されるデータをフィルター処理するには:

  1. 「レプリケーション・サブスクリプションの定義」ウィンドウで「拡張」をクリックしてください。「拡張サブスクリプション定義」ノートブックがオープンします。

  2. オプション: サブスクリプションに組み込みたい行を個別に選択する WHERE 文節を定義してください。すべての列をレプリカに表示するよう選択している場合でも、ある行だけをサブスクリプションの一部にするよう指定できます。

    1. 「拡張サブスクリプション定義」ノートブックの「行」ページを開きます。

    2. すべての行」フィールドに、サブスクリプションに表示したい行のサブセットを定義する WHERE 文節を入力してください。たとえば、JOBCODE 列の値が VNURSE である、「患者」表にあるデータの行だけを巡回する看護婦が見られるようにしたいとします。ここでは、以下の WHERE 文節を入力します。
      WHERE JOBCODE='VNURSE'
      

      WHERE 文節のサンプルをいくつか表示するには「」をクリックしてください。

    3. オプション: 「個々のユーザーが持つ行のサブセット」フィールドに、サブスクリプションの WHERE 文節をオーバーライドする個々のユーザーの WHERE 文節を入力してください。たとえば、ユーザーに所有するジョブ・コードに関連したデータを参照させるとします。全体のサブスクリプションの JOBCODE パラメーターの値をハード・コーディングする代わりに、個々のユーザーごとに定義されたデータ・フィルターを参照する変数を定義してください。

      WHERE JOBCODE=':JOB'
      

      後で「ユーザーの作成」ノートブックの「フィルター」ページに移動し、各ユーザーのジョブ・コードごとに JOB パラメーターを設定することができます。個々のユーザーのデータのフィルター処理の詳細については、ユーザーが使用可能なデータのフィルター処理を参照してください。

  3. OK」をクリックして「レプリケーション・サブスクリプションの定義」ウィンドウに戻ります。

[「DataPropagator サブスクリプションの作成」または「DataPropagator サブスクリプションの編集」に戻る]


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]