WebSphere ロゴ Classic Federation Server for z/OS バージョン 9.1
WebSphere ロゴ Classic Replication Server for z/OS バージョン 9.1
WebSphere ロゴ Classic Data Event Publisher for z/OS バージョン 9.1
WebSphere ロゴ Data Integration Classic Connector for z/OS バージョン 9.1


変更キャプチャー用の CA-IDMS パスのマッピング

変更キャプチャー用の表を作成する場合、サブスキーマ内の開始レコードを選択し、変更キャプチャーの最終ターゲット・レコードまでのセット・リレーションシップをナビゲートすることによって、パスをマップします。

マッピング内のセット・ナビゲーション・パスは、必ず所有者からメンバー・レコードという方向でなければなりません。 関連情報を収集するとき、相関サービスは所有者チェーンを上方向にナビゲートするだけに制限されます。

パス内の最終レコードの変更だけがキャプチャーされます。 パス内の他のレコードの変更内容は、そのレコードの変更をキャプチャーする別個の表をマップしない限り、無視されます。 ただし、レコード内のフィールドが、データベース・スキーマ内の変更対象レコードのコンテキストを提供する場合には、そのような関連レコードのマッピングが必要です。 たとえば、セットとして従業員レコードに関連付けられている給与レコードが CA-IDMS スキーマに含まれる場合、特定の従業員の SALARY (給与) レコードのインスタンスを挿入するには、配布サービスによって送られるメッセージの中に、EMPLOYEE (従業員) レコード内の従業員 ID が含まれる必要があります。

最終レコード以外のレコード内の変更データは、更新トランザクションの外部で収集されます。 この情報を収集する待ち時間は、変更キャプチャー・エージェントが変更を相関サービスに送る時間に加えて、変更をパッケージ化して配布サービスに転送するのに必要な時間に依存します。 トランザクションの時点から、情報が配布サービスに転送されるまでの間に、関連する変更データそのものは更新または削除される可能性があります。 このため、変更されることのない関連レコード内の識別可能なフィールド (たとえば 1 次キーと外部キー) だけをマップしてください。

更新トランザクションの発生時から変更が配布サービスに転送される時点までに関連レコードが削除された場合には、情報が使用できないことを示すために、関連フィールドは SQL NULL として配布サービスに渡されます。

レコードが削除された場合でも関連データの情報を確実に収集できるよう、アプリケーション・スキーマを変更する必要があるかもしれません。 場合によっては、CA-IDMS が所有者ポインターをレコード接頭部に保持しないため、レコードが削除されると所有者情報が得られなくなります。 このような場合には、変更キャプチャーはサポートされません。

削除用に所有者情報が必要な場合には、所有者ポインターをレコード接頭部情報の中に保持するために、パス内の 1 つ以上のセット定義を変更して LINKED TO OWNER ステートメントを含める必要があります。 スキーマの更新について、詳しくは CA/CA-IDMS の解説書を参照してください。

場合によっては、スキーマ内に複数のパスを使用することにより、複数のレコード所有者から情報を集める必要があるかもしれません。 変更キャプチャーはスキーマ内のただ 1 つのパスだけに関してサポートされるため、1 つの表マッピングを使用して、複数のパスから識別可能なフィールドを集めることはできません。 ただし、配布サービスに送られる変更メッセージはデータベース内の 1 つの作業単位に基づくため、変更キャプチャー用の複数の表を定義できます。

たとえば、従業員を扱う CA-IDMS デモ・スキーマで従業員レコードの変更をキャプチャーする場合、従業員の変更時に、従業員に関連したオフィス・コードと部門 ID が必要であるとします。 従業員の変更時に部門 ID とオフィス ID の両方を収集するために、パス DEPARTMENT->EMPLOYEE を 1 つの表として、OFFICE->EMPLOYEE を 2 番目の表としてそれぞれマップすることができます。 変更データを受け取るアプリケーションは、マップされる 2 つの表からの情報を従業員レコードの変更として結合し、両方の表マッピングの変更メッセージを自動的にトリガーすることができます。



フィードバック

更新アイコン 最終更新日: 2007 年 7 月 11 日