Hitachi

HiRDB データ連動機能 HiRDB Datareplicator Version 10


4.3.3 マッピングキーの対応の設計

マッピングキーとは,更新情報が反映対象表のどの行に対応するのかを特定するためのキーのことです。このため,マッピングキーは抽出対象表と反映対象表とで対応させる必要があります。マッピングキーは1個以上の列で構成します。

注意1

マッピングキーは,反映対象のどの行に反映するかを特定するためのものです。マッピングキーが抽出側と反映側の間で特定できないときは,該当する行が複数になって,残りの反映処理で不都合が起こります。

マッピングキーで行が特定できない場合:

データを反映するときに,行が存在しないエラーになって終了することがあります。この場合は,反映環境定義のskip_sqlcodeオペランドにスキップするSQLCODEを指定して再実行してください。

注意2

反映対象表には,すべてのマッピングキー列を構成列とするユニークキーインデクスを定義してください。ユニークキーインデクスを定義していないと,キー重複エラーを検知できなくなります。さらに,UPDATEとDELETEの反映性能が著しく低下します。

マッピングキーは,抽出側DBによって指定方法が異なります。抽出側DB ごとのマッピングキーについて説明します。

〈この項の構成〉

(1) 抽出側DBがHiRDBの場合のマッピングキー

マッピングキーに指定できるデータ型を次に示します。

表4‒6 マッピングキーに指定できるデータ型(抽出側DBがHiRDB)

分類

マッピングキーに指定できるデータ型

列定義長

数値型

INTEGER

SMALLINT

DECIMAL(m,n)

1≦m≦38,0≦n≦38,n≦m

FLOAT

SMALLFLT

文字型

CHAR(n)

n≦255

VARCHAR(n)

n≦255

NCHAR(n)

n≦127

NVARCHAR(n)

n≦127

MCHAR(n)

n≦255

MVARCHAR(n)

n≦255

日付型

DATE

TIME

TIMESTAMP(p)

p=0,2,4,6

INTERVAL YEAR TO DAY

INTERVAL HOUR TO SECOND

(凡例)

−:該当しません。

繰返し列はマッピングキーに指定できません。

(2) 抽出側DBがXDM/SD E2の場合のマッピングキー

(3) 抽出側DBがXDM/RD E2の場合のマッピングキー

(4) 抽出側DBがADMの場合のマッピングキー

(5) 抽出側DBがPDMII E2の場合のマッピングキー

(a) XDM/DSを使ってデータ連動する場合

  • 抽出側DBがPDMII E2の場合のマッピングキーの指定方法については,マニュアル「VOS3 XDMデータ連動機能 XDM/DS 解説・定義」を参照してください。

(b) SAMファイルを使ってデータ連動する場合

  • 抽出側DBがPDMII E2の場合のマッピングキーは,更新情報定義で指定します。更新情報定義の指定については,「5.11 更新情報定義」を参照してください。

  • 反映側Datareplicatorの反映情報キューファイルには,抽出側DBから転送されたSAMファイルの内容が格納されます。

(6) 抽出側DBがTMS-4V/SPの場合のマッピングキー

(7) 抽出側DBがRDB1 E2の場合のマッピングキー

(8) SMALLFLT,FLOAT型の抽出列について

マッピングキーがSMALLFLT,FLOATの概数型の場合,抽出システム別でデータ形式が異なります。さらに,概数型はSQL実行時にSQLCODE 100(条件に合う行がありません)になる可能性があります。FLOAT,SMALLFLT型の列はマッピングキーに指定しないでください。