転置した状態のテーブルへのレプリケーション構成方法[Syniti DR(旧DBMoto)]


使用するアプリケーションの仕様などにより下記のように、各カラムの名前を値として持つように転置した状態のテーブルへのレプリケーションを構成するような場合、Syniti DRでは対象となるカラム数分のレプリケーションを作成する必要が有ります。

上記の例ですとA_VALUE、I_VALUE、U_VALUEそれぞれにレプリケーションを作成していきます。作成時にはvowelカラムに対してはそのレプリケーションのカラムとわかる値を入れるように関数にマッピングします。

例えば、U_VALUEに関してはUを値として、マッピングします。

そして、作成後にも一部設定が残っているため、一旦初期リフレッシュとレプリケーションの有効化は無効に設定して作成を完了します。

2個め以降の完了時には下記のようにリフレッシュ時のテーブルデータ削除処理に関する警告が出力されますが、一旦ここでは無視します。

各レプリケーションの作成が完了したら、上記の警告に対応するため、一つのレプリケーションを除いて、リフレッシュ時の削除処理をスキップする設定をTRUEに変更します。下記ではA_VALUEのレプリケーションのみ設定変更せず、他をTRUEに変更しています。

そして、リフレッシュ時にレプリケーションされる順番を明示的に構成するため、グループを作成、それに作成したレプリケーションを追加していきます。ここでの注意点として、リフレッシュ時の順番は上から順ではなく、一番下に設定したレプリケーションから実施されますので、先ほどターゲットテーブルのデータをリフレッシュ時に削除するように設定したA_VALUEテーブルは一番下に矢印アイコンで移動させます。

これで準備は完了です。グループを右クリックし、「初期リフレッシュを実行」をクリックしリフレッシュのフラグを有効にした状態で「グループを有効にする」でグループ内のレプリケーションを有効にします。

そうすると初期リフレッシュが実行され、下記のようなソーステーブルは

下記のようにターゲットテーブルへ連携されます。

このように、少々、手間はかかりますが、転置を行うようなレプリケーションも構成可能です。

関連したトピックス

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください