ターゲット・オブジェクトにワイルドカードを使用する場合のルール
MAP
文のTARGET
句でワイルドカードを使用する場合、ターゲット・オブジェクトがターゲット・データベースに存在する必要があります。(ただし、DDLレプリケーションが使用されていて、新しいスキーマとそのオブジェクトを作成時にレプリケートできる場合を除きます。)
ターゲット・オブジェクトには、アスタリスクのみを使用できます。アスタリスク・ワイルドカードを部分的な名前とともに使用すると、Replicatはワイルドカードを対応するソース・オブジェクトの完全な名前に置き換えます。したがって、次のような指定は誤りです。
TABLEHQ.T
_*, TARGET RPT.T_*; MAPHQ.T
_*, TARGET RPT.T_*;
前述のマッピングでは、ターゲット指定内のワイルドカードがT_TEST
(ソース・オブジェクトの名前)に置き換わるため、ターゲット名全体ではT_T_TEST
n
となり、間違った結果が返されます。次に、間違った結果を示します。
-
HQ.T_TEST1
がRPT.T_T_TEST1
にマップされます。 -
HQ.T_TEST2
がRPT.T_T_TEST2
にマップされます。 -
(
HQ.T_TEST
n
形式の他のすべてのマッピングに、同じパターンが当てはまります。)
次の例は、アスタリスク・ワイルドカードの正しい使用方法を示しています。
MAP HQ.T_*, TARGET RPT.*;
前述の例では、次のような正しい結果が得られます。
-
HQ.T_TEST1
がRPT.T_TEST1
にマップされます。 -
HQ.T_TEST2
がRPT.T_TEST2
にマップされます。 -
(
HQ.T_TEST
n
形式の他のすべてのマッピングに、同じパターンが当てはまります。)