カスタム・ロジック・ポリシーを使用可能にした後は、サンプル・アプリケーションを使用できます。
DB2 Everyplace のいくつかのアプリケーションとツールには、以下のステップが関係します。
手順
このサンプル内で使用されるファイル・パスは Windows 特定であり、
変数 %DSYINSTDIR% は、DB2 Everyplace がインストールされているディレクトリーを指します。
UNIX では、%DSYINSTDIR% を $DSYINSTDIR に置き換えてください。
- IBM Sync を使用して、デバイス上の初期データをリフレッシュします (user=nurse1、password=nurse1)。
- DB2eCLP を使用して、VNMEDICALRECORD 表のデータを表示します。
この表のスキーマは次のとおりです。
- RecordID integer primary key
- Date_C date
- Time_C time
- PatientID char(9) NOT NULL
- BloodPressure char(7)
- PulseRate smallint
- Temperature decimal(4,1)
- Weight decimal(5,2)
- Comment varchar(100)
- DB2eCLP を使用して診療記録を挿入します。
- CLP:> insert into vnmedicalrecord values
(1000, current date, current time, '900000001', '140/85', 80, 100.01, 145.50,
'CL statistic');
- IBM Sync を使用して、vnmedicalrecord 診療規則とデータ・ソースを同期化します。
- BeforeTableSyncIn、TableSyncIn、および AfterTableSyncIn ポリシーを
使用している場合には、同期を行っている間に DB2 Everyplace カスタム・ロジックが STDOUT にログ・メッセージを書き込みます。
STDOUT はファイル %DSYINSTDIR%\Server\logs\DB2eServer\native_stdout.log
に記録されます (ストリング「TableSyncInPolicy」、「BeforeTableSyncInPolicy」、「AfterTableSyncInPolicy」を
検索してください)。
- 定期的 (60 秒ごと) にレプリケーションが行われます。
「データベース複製前」、
「表複製前」、「表複製」、
「表複製後」、および「データベース複製後」ポリシーを
使用している場合には、レプリケーションを行っている間にカスタム・ロジックが STDOUT にログ・メッセージを書き込みます。
- DB2eCLP を使用して診療記録を挿入します。
- CLP:> insert into vnmedicalrecord values (-1001, current date, current
time, '900000001', '140/85', 80, 100.01, 145.50, 'CL primary key change');
- DB2eCLP を使用して、新たに作成されたこのレコードを検討します。
主キーの値が -1001 であることに注意してください。
- IBM Sync を使用して、この診療記録とデータ・ソースを同期化します。
以下の操作が行われます。
- 競合を解決するためのカスタム・ロジックの使用法を確認するには、
次のようにして、定期レプリケーションを要求時対応レプリケーションに変更します。
- モバイル・デバイス管理センターを開始します。
- Visiting Nurse (巡回医療サービス) サブスクリプション (JDBCSUB1) を編集します。
- 「拡張レプリケーション・サブスクリプション」で、
「サブスクリプションの定義」、「タイミング」の順に選択します。
60 を 0 に変更します。
- 次のようにして、VNURSE データ・ソースを診療記録を挿入します。
- insert into dsysample.vnmedicalrecord (1002,
current date, current time, '900000001', '140/85', 80, 100.01, 145.50, 'CL
conflict source data');
- DB2eCLP を使用して診療記録を挿入します。
- CLP:> insert into vnmedicalrecord values
(1002, current date, current time, '900000001', '140/85', 80, 100.01, 145.50,
'CL conflict resolution - winner').
- IBM Sync を使用して、この診療記録とデータ・ソースを同期化します。
- 手動レプリケーションを実行します。
- IBM Sync を使用して、競合解決の結果に対して同期化を行います。
- ソースとデバイスの両方が競合レコード (同一の主キー 1002 を持つ) を挿入したため、
カスタム・ロジック・ポリシーが、デバイス「nurse1」からの競合の勝者を選択するとにより競合を解決します。
これは、データ・ソースからのレコードを競合の勝者として常に選択する
デフォルトの競合解決アルゴリズムをオーバーライドします。
この競合解決を行うカスタム・ロジックのサンプルを下に示します。
- デバイスで、DB2eCLP を使用して、競合の勝者がデバイスから挿入されたレコードであることを確認します。
- ソースで、競合の勝者がデバイスから挿入されたレコードであることを検査します。
関連したタスク
関連概念