3.1.4 データ型の変換

抽出側DBから抽出された更新データのデータ型は,抽出側Datareplicator Extensionによって反映側DBに反映できるデータ型に変換され,抽出情報キューファイルに格納されます。

データ型の対応については,「4.1.2 データ型の対応の設計」を参照してください。

なお,抽出側DBが他社DBMSの場合,変換ができるデータ型であっても抽出情報キューファイルに格納できないデータがあります。これらのデータを例外データといいます。

例外データを検出した場合は,これらを抽出情報キューファイルに格納できるデータに置換することで,抽出処理を続行できます。

Oracleの場合の例外データを次に示します。

データ型抽出情報キューファイルに格納できないデータ理由
NUMBER型表4-3 SQL Serverから抽出するデータのデータ型対応」の注※1に従ってデータ型を変換した列に対する,各数値型の表現範囲外のデータ。抽出情報キューファイルに格納するためには,各数値型に相当する形式に変換する必要がありますが,表現範囲外であるため変換できません。
DATE型紀元前の日付データ。抽出情報キューファイルに格納するためには,日付データは4バイトのパック形式に変換する必要がありますが,紀元前の日付データは変換できません。

次にSQL Serverの場合の例外データを次に示します。

データ型抽出情報キューファイルに格納できないデータ理由
CHAR(n)型時間又は日付用の情報を格納しているCHAR型データ(n≠8,10)。時間及び日付のデータ形式が,'HH:MM:SS'及び'YYYY-MM-DD'のため,n=8,10以外では変換できません。
<この項の構成>
(1) 例外データを検出したときの抽出側Datareplicator Extensionの動作
(2) 例外データを置換する場合の置換値

(1) 例外データを検出したときの抽出側Datareplicator Extensionの動作

例外データを検出したときの抽出側Datareplicator Extensionの動作は,次に示すどちらかを選択できます。

例外データを検出したときの抽出側Datareplicator Extensionの動作出力メッセージ
抽出処理を停止します。KFRB05028-E
例外データを置換して,抽出処理を続行します。KFRB05029-W

例外データを検出したときの抽出側Datareplicator Extensionの動作は,抽出環境定義のexterrlevelオペランドで指定します。

また,例外データを置換して抽出処理を続行する場合,どの値に置換するかは,抽出環境定義のcvt_datakindオペランドで指定します。

各オペランドの詳細については,「5.1.2 抽出環境定義」を参照してください。

(2) 例外データを置換する場合の置換値

Oracleの場合の例外データを置換する場合の置換値を次に示します。

データ型置換値
ナル値最大値最小値
NUMBER型ナル値各数値型の表現範囲の最大値0
DATE型ナル値9999/12/31 23:59:590001/01/01 00:00:00

SQL Serverの場合の例外データを置換する場合の置換値を次に示します。

データ型置換値
ナル値最大値最小値
CHAR(n)型ナル値9999/12/310001/01/01
23:59:5900:00:00