Hitachi

Hitachi Advanced Data Binder コマンドリファレンス


17.2.5 列構成情報オプションの指定パターン

列構成情報オプションの指定パターンについて,入力データファイルの内容と,処理対象表の列定義の関係ごとに説明します。

メモ

列構成情報オプションの具体的な指定例については,「17.3.2 CSV形式の表データをインポートする場合(列構成情報ファイルを指定する場合)」または「17.3.3 固定長形式の表データをインポートする場合」を参照してください。

〈この項の構成〉

(1) 入力データファイルのファイル形式がCSV形式の場合

入力データファイルのファイル形式がCSV形式の場合の,列構成情報オプションの指定パターンについて説明します。

(a) 入力データファイルのフィールドデータの並び順と処理対象表の列定義の順序が一致している場合

次に示す2つが一致している場合は,列構成情報ファイルを指定する必要はありません。

  • 入力データファイルのフィールドデータの数と,処理対象表の列定義数

  • 入力データファイルのフィールドデータの並び順と,処理対象表の列構成の順序

図17‒6 入力データファイルのフィールドデータの並び順と処理対象表の列定義の順序が一致している場合

[図データ]

(b) 入力データファイルのフィールドデータの並び順と処理対象表の列定義の順序が異なる場合

入力データファイルのフィールドデータの並び順と,処理対象表の列定義の順序が異なる場合に,列構成情報オプションに指定する内容を示します。

図17‒7 入力データファイルのフィールドデータの並び順と処理対象表の列定義の順序が異なる場合

[図データ]

列構成情報オプションに指定する内容
adbcolumninfo  -n C1  -r 2
adbcolumninfo  -n C2  -r 3
adbcolumninfo  -n C3  -r 1

(c) 入力データファイルのフィールドデータの数が処理対象表の列定義数より少ない場合

入力データファイルのフィールドデータの数が処理対象表の列定義数より少ない場合に,列構成情報オプションに指定する内容を示します。

図17‒8 入力データファイルのフィールドデータの数が処理対象表の列定義数より少ない場合

[図データ]

注※

入力データが空文字列の場合に,対象の列に実際に格納される値については,「17.8 入力データが空文字列の場合に格納される値」を参照してください。

列構成情報オプションに指定する内容
adbcolumninfo  -n C1  -r 2
adbcolumninfo  -n C2  -r empty_string
adbcolumninfo  -n C3  -r 1

(d) 入力データファイルのフィールドデータの数が処理対象表の列定義数より多い場合

入力データファイルのフィールドデータの数が処理対象表の列定義数より多い場合に,列構成情報オプションに指定する内容を示します。

図17‒9 入力データファイルのフィールドデータの数が処理対象表の列定義数より多い場合

[図データ]

列構成情報オプションに指定する内容
adbcolumninfo  -n C1  -r 2
adbcolumninfo  -n C2  -r 4
adbcolumninfo  -n C3  -r 1

フィールドデータ3は,データインポートの対象外になります。

(e) 入力データファイルの特定のフィールドデータを処理対象表の複数列に格納する場合

入力データファイルの特定のフィールドデータを処理対象表の複数列に格納する場合に,列構成情報オプションに指定する内容を示します。

図17‒10 入力データファイルの特定のフィールドデータを処理対象表の複数列に格納する場合

[図データ]

列構成情報オプションに指定する内容(例1)
adbcolumninfo  -n C1  -r 1
adbcolumninfo  -n C2  -r 1
adbcolumninfo  -n C3  -r 2
列構成情報オプションに指定する内容(例2)
adbcolumninfo  -n C1
adbcolumninfo  -n C2  -r 1
adbcolumninfo  -n C3  -r 2

C1-rオプションに1を指定した場合も,-rオプションを省略した場合も,列C1にはフィールドデータ1が格納されます。

(2) 入力データファイルのファイル形式が固定長形式の場合

入力データファイルのファイル形式が固定長形式の場合の,列構成情報オプションの指定パターンについて説明します。

(a) 入力データファイルのフィールドデータの並び順と処理対象表の列定義の順序が一致している場合

入力データファイルのフィールドデータの並び順と,処理対象表の列定義の順序が一致している場合に,列構成情報オプションに指定する内容を示します。

図17‒11 入力データファイルのフィールドデータの並び順と処理対象表の列定義の順序が一致している場合

[図データ]

列構成情報オプションに指定する内容
set adb_import_input_record_size = フィールドデータ1〜3の長さと改行コードのバイト数の合計
 
adbcolumninfo  -n C1  -p フィールドデータ1の先頭位置,フィールドデータ1の長さ
adbcolumninfo  -n C2  -p フィールドデータ2の先頭位置,フィールドデータ2の長さ
adbcolumninfo  -n C3  -p フィールドデータ3の先頭位置,フィールドデータ3の長さ

(b) 入力データファイルのフィールドデータの並び順と処理対象表の列定義の順序が異なる場合

入力データファイルのフィールドデータの並び順と,処理対象表の列定義の順序が異なる場合に,列構成情報オプションに指定する内容を示します。

図17‒12 入力データファイルのフィールドデータの並び順と処理対象表の列定義の順序が異なる場合

[図データ]

列構成情報オプションに指定する内容
set adb_import_input_record_size = フィールドデータ1〜3の長さと改行コードのバイト数の合計
 
adbcolumninfo  -n C1  -p フィールドデータ2の先頭位置,フィールドデータ2の長さ
adbcolumninfo  -n C2  -p フィールドデータ3の先頭位置,フィールドデータ3の長さ
adbcolumninfo  -n C3  -p フィールドデータ1の先頭位置,フィールドデータ1の長さ

(c) 入力データファイルのフィールドデータの数が処理対象表の列定義数より少ない場合

入力データファイルのフィールドデータの数が処理対象表の列定義数より少ない場合に,列構成情報オプションに指定する内容を示します。

図17‒13 入力データファイルのフィールドデータの数が処理対象表の列定義数より少ない場合

[図データ]

注※

入力データが空文字列の場合に,対象の列に実際に格納される値については,「17.8 入力データが空文字列の場合に格納される値」を参照してください。

列構成情報オプションに指定する内容
set adb_import_input_record_size = フィールドデータ1〜2の長さの合計
 
adbcolumninfo  -n C1  -p フィールドデータ2の先頭位置,フィールドデータ2の長さ
adbcolumninfo  -n C3  -p フィールドデータ1の先頭位置,フィールドデータ1の長さ

C2adbcolumninfoオペランドは指定しません。

(d) 入力データファイルのフィールドデータの数が処理対象表の列定義数より多い場合

入力データファイルのフィールドデータの数が処理対象表の列定義数より多い場合に,列構成情報オプションに指定する内容を示します。

図17‒14 入力データファイルのフィールドデータの数が処理対象表の列定義数より多い場合

[図データ]

列構成情報オプションに指定する内容
set adb_import_input_record_size = フィールドデータ1〜4の長さと改行コードのバイト数の合計
 
adbcolumninfo  -n C1  -p フィールドデータ2の先頭位置,フィールドデータ2の長さ
adbcolumninfo  -n C2  -p フィールドデータ4の先頭位置,フィールドデータ4の長さ
adbcolumninfo  -n C3  -p フィールドデータ1の先頭位置,フィールドデータ1の長さ

フィールドデータ3は,データインポートの対象外になります。

(e) 入力データファイルの特定のフィールドデータを処理対象表の複数列に格納する場合

入力データファイルの特定のフィールドデータを処理対象表の複数列に格納する場合に,列構成情報オプションに指定する内容を示します。

図17‒15 入力データファイルの特定のフィールドデータを処理対象表の複数列に格納する場合

[図データ]

列構成情報オプションに指定する内容
set adb_import_input_record_size = フィールドデータ1〜2の長さの合計
 
adbcolumninfo  -n C1  -p フィールドデータ1の先頭位置,フィールドデータ1の長さ
adbcolumninfo  -n C2  -p フィールドデータ1の先頭位置,フィールドデータ1の半分の長さ
adbcolumninfo  -n C3  -p フィールドデータ2の先頭位置,フィールドデータ2の長さ