同期サーバー 管理ガイド
垂直フィルター操作は、DB2 DataPropagator サブスクリプションの「Advanced Subscription Definition (拡張サブスクリプションの定義)」ノートブックの「Target columns (ターゲット列)」ページ、および JDBC サブスクリプションの「Advanced Replication Subscription (拡張レプリケーション・サブスクリプション)」ノートブックの「Rows (行)」ページを使用します。これらのノートブックをオープンするには、次のようにします。
- JDBC サブスクリプションまたは DataPropagator サブスクリプションを作成または編集します。
- 「Define Subscription (サブスクリプションの定義)」をクリックします。「Define Replication Subscription (レプリケーション・サブスクリプションの定義)」ウィンドウがオープンします。
- 「Advanced (拡張)」をクリックします。
DB2 DataPropagator サブスクリプションの場合、「Advanced Subscription Definition (拡張サブスクリプションの定義)」ノートブックがオープンします。JDBC サブスクリプションの場合は、「Advanced Replication Subscription (拡張レプリケーション・サブスクリプション)」ノートブックがオープンします。
このセクションでは、7 列あるサンプル表を使用します。このサンプル表の特性は、次のとおりです。
Column name data type nullable? default value
NOTNULLINT1 INTEGER NO
NOTNULLCHAR1 CHAR NO
NOTNULLDATE1 DATE NO
DEFAULTINT1 INT YES 1000
DEFAULTCHAR1 CHAR YES 'a'
DEFAULTDATE1 DATE YES '2001-06-29'
ID INTEGER NO
ID 列は基本キーです。
垂直方向にデータ・フィルター操作を行う方法
- 「Target Columns (ターゲット列)」ページで、クライアントに同期させない列をサブスクリプション解除します。列をサブスクリプション解除するには、「Subscribe (サブスクライブ)」チェック・ボックスをクリアします。たとえば、サンプル表を使用して、初めの 4 列 (NOTNULLINT1、NOTNULLCHAR1、NOTNULLDATE1、および DEFAULTINT1) の「Subscribe (サブスクライブ)」チェック・ボックスをクリアします。
- サブスクリプション解除した各列を選択し、「Change (変更)」をクリックしてデフォルト値のデータ・フィルターを追加します。「Change Column (列の変更)」ウィンドウがオープンします。
- 「Default value data filter (デフォルト値データ・フィルター)」フィールドにデフォルト値のデータ・フィルター・パラメーターを入力します。サブスクリプション解除した列すべてに、これを繰り返します。サンプル表では、:PARAMINT1.、:PARAMCHAR1.、:PARAMDATE1.、および :PARAMINT2. の各パラメーターを使用します。
- 「Subscription (サブスクリプション)」ノートブックをクローズします。
デフォルト値のデータ・フィルター・パラメーターは、グループが、サブスクリプション解除した列にデフォルト値を指定するために使用します。クライアントからデータ・ソースに挿入されたデータは、クライアントのデータ列とグループに定義されたデフォルト列値を結合して構成され、データ・ソースに挿入されたデータの行が完成します。次のステップでは、デフォルト値のデータ・フィルター・パラメーター値を定義します。
デフォルト値のデータ・フィルター・パラメーターを定義する方法
- フィルターに掛けるグループの「Create or Edit Group」ノートブックをオープンします。フィルター変数を使用して作成したサブスクリプションは、編集中のグループに割り当てなければなりません。
- 「Group (グループ)」ノートブックの「Data filter (データ・フィルター)」ページで、「Add (追加)」をクリックします。
- 「Parameter name (パラメーター名)」フィールドに、デフォルト値のデータ・フィルター・パラメーターの名前を入力します。
- 「Default value (デフォルト値)」フィールドに、デフォルト値を入力します。たとえば、デフォルト値のデータ・フィルター・パラメーター :PARAMINT1. に次の値を入力します。
100
特殊値も使用できます。値 $USERNAME には、パラメーター値として同期サーバーのユーザー ID が挿入できます。これにより、特定のフィールドに同期サーバーのユーザー ID を指定して、特定のユーザーが作成した行をデータ・ソースに挿入することができます。たとえば、:PARAMCHAR1. に次の値を入力します。
$USERNAME
これで、サンプル表に挿入したすべての行の NOTNULLCHAR1 列に同期サーバーのユーザー ID が挿入できます。サンプル表では、さらに以下の 2 つのパラメーターを追加します。
:PARAMDATE1. '2001-06-29'
:PARAMINT2. 15
- 「Group (グループ)」ノートブックを完成させ、クローズします。
- フィルターに掛けるユーザーの「Create or Edit User」ノートブックをオープンします。フィルター・パラメーターを使用して、ユーザーをグループに割り当てなければなりません。
- 「User (ユーザー)」ノートブックの「Data filter (データ・フィルター)」ページで、このユーザー固有のデフォルト値をオーバーライドすることができます。$USERNAME フィルターが使用中の場合、このユーザーのユーザー ID は自動的にユーザー・オーバーライド列に挿入されます。たとえば、値 :PARAMINT2. をオーバーライドするには、次のようにします。
- 「Change (変更)」をクリックします。
- 「User override (ユーザー・オーバーライド)」フィールドに、値を入力します。たとえば、このユーザーの値 :PARAMINT2. をオーバーライドし、20 をセットする場合には、20 を入力します。
- 「OK」をクリックします。
- 「User (ユーザー)」ノートブックを完成させ、クローズします。
フィルターを掛けたグループに割り当てられたすべてのユーザーは、サンプル表の 7 列のうち、3 列しか受け取りません。ユーザーが表に新しい行を挿入するときには、サブスクリプション解除した各列にあるグループのデフォルト値を使用して、データ・ソースを同期させます。$USERNAME キーワードがデータ・フィルターで使用されると、行を挿入したユーザーのユーザー
ID は、フィルターを掛けた列値として挿入されます。また、各ユーザーはユーザー・ベースで構成されたグループのデフォルト値とは異なる、特定のデフォルト値を持つ可能性があります。
DB2 Everyplace には、リモート照会およびストアード・プロシージャー・アダプターが組み込まれています。このアダプターにより、DB2 Everyplace アプリケーションで同期サーバー・アーキテクチャーが使用可能となり、リモート・データ・ソースにあるストアード・プロシージャーを呼び出せるようになります。ストアード・プロシージャーの結果は、デバイス上のアプリケーションに直接戻されます。ストアード・プロシージャーを呼び出すことで、DB2 Everyplace アプリケーションは、同期させなくてもリモート・サーバーに直接アクセスできます。この章では、AgentAdapter サブスクリプションおよびストアード・プロシージャーの構成方法、ならびにアプリケーション内でのリモート照会およびストアード・プロシージャー・アダプターの使用法について説明します。
[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]