抽出側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以外では変換できません。 |
例外データを検出したときの抽出側Datareplicator Extensionの動作は,次に示すどちらかを選択できます。
例外データを検出したときの抽出側Datareplicator Extensionの動作 | 出力メッセージ |
---|---|
抽出処理を停止します。 | KFRB05028-E |
例外データを置換して,抽出処理を続行します。 | KFRB05029-W |
例外データを検出したときの抽出側Datareplicator Extensionの動作は,抽出環境定義のexterrlevelオペランドで指定します。
また,例外データを置換して抽出処理を続行する場合,どの値に置換するかは,抽出環境定義のcvt_datakindオペランドで指定します。
各オペランドの詳細については,「5.1.2 抽出環境定義」を参照してください。
Oracleの場合の例外データを置換する場合の置換値を次に示します。
データ型 | 置換値 | ||
---|---|---|---|
ナル値 | 最大値 | 最小値 | |
NUMBER型 | ナル値 | 各数値型の表現範囲の最大値 | 0 |
DATE型 | ナル値 | 9999/12/31 23:59:59 | 0001/01/01 00:00:00 |
SQL Serverの場合の例外データを置換する場合の置換値を次に示します。
データ型 | 置換値 | ||
---|---|---|---|
ナル値 | 最大値 | 最小値 | |
CHAR(n)型 | ナル値 | 9999/12/31 | 0001/01/01 |
23:59:59 | 00:00:00 |