インスタンスデータレプリケーション (IDR) の結合列
列結合機能は、インスタンスデータレプリケーション (IDR) (IDR) を使用してインスタンス間でデータの挿入、更新、および削除を実行するときに、レコードを識別するために使用されます。
デフォルトでは、IDR のレコードを結合するために [sys_id] フィールドが使用されます。San Diego リリースから、別のフィールドの使用を選択できます。
コンシューマーインスタンスのレコードが、プロデューサーインスタンスの同じレコードと異なる sys_id を持つ場合は、列結合機能を使用します。たとえば、レコードが ディスカバリー によって作成され、複数のインスタンスにロードされた場合などです。プロデューサーの [レプリケーションエントリー] フォームで [結合] フィールドを選択します。
[結合] フィールドを選択するときは、次のことを確認する必要があります。
- 選択したフィールドは、プロデューサーインスタンスのレプリケーションエントリーフォームの [含まれているフィールド (Included Fields)] にあります。
- フィールドは、コンシューマーインスタンス上で、同じ名前、長さ、およびタイプで存在します。 注:フィールドに有効な変換を作成する場合、[結合] フィールドはコンシューマーインスタンスで異なる場合があります。
- 選択したフィールドの [一意の列] の値は、辞書エントリ [sys_dictionary] テーブルで true に設定されます。
[結合] フィールドとして設定した後は、フィールドの値を変更しないでください。
設定後に [結合] フィールドを変更するには、プロデューサーインスタンスのレプリケーションエントリを削除し、新しいレプリケーションエントリを作成する必要があります。
[結合] フィールドがコンシューマーインスタンスに存在しない場合、コンシューマーレプリケーションセットフォームに次のエラーが表示されます。コンシューマーインスタンスは、<column_name> の結合フィールドを、<table_name> テーブルの有効なメンバーとして認識していません。プロデューサーテーブルからコンシューマーインスタンスへの更新を受信するには、このテーブルにこのフィールドを作成し、変換を有効にします。
変換
プロデューサーインスタンスで変換が有効になっている場合、ターゲットテーブルの [結合] フィールドの名前、タイプ、および長さが同じである必要があります。これらのパラメーターのいずれかが一致しない場合、エラーが表示されます。
プロデューサーインスタンスで変換が有効になっていて、[結合] フィールドのマッピングが無効であり、コンシューマーがエントリを同期している場合、コンシューマーレプリケーションセットフォームにエラーが表示されます。
[結合] フィールドの有効なマッピングを使用してレプリケーションエントリに対して変換が有効になっていて、マッピングが有効でなくなるようにターゲットテーブルのテーブルスキーマが更新された場合、レプリケーションエントリフォームにエラーが表示されます。
レプリケーションエントリが変換を有効にしようとして、 [結合] フィールドの有効なマッピングが、ソーステーブルからターゲットテーブルまで存在しない場合は、レプリケーションエントリフォームにエラーが表示されます。