Hitachi

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


17.5.2 入力データの記述規則(CSV形式)

  1. 表の1行のデータをファイルの1行に記述してください。1行の終わりには改行文字を記述してください。改行コードは,X'0A'LF),X'0D0A'CRLF),またはX'00'としてください。

  2. ローストア表にデータをインポートする場合,入力データの1行の最大長は512メガバイト(536,870,912バイト)です。512メガバイトを超えると,adbimportコマンドの実行時にファイル入力エラーになります。

  3. 入力データファイルにEOF制御文字は記述できません。

  4. フィールドデータとフィールドデータの間を区切り文字で区切ってください。

  5. 囲み文字を指定する場合は,区切り文字と囲み文字を連続して指定してください。区切り文字と囲み文字の間に空白があると,空白はデータとして扱われるため,囲み文字の指定エラーになったり,囲み文字を含むデータが格納されたりすることがあります。

  6. 囲み文字と同じ文字がデータ中にある場合,データの文字を2個連続で記述してください。

    (例)アポストロフィ(')が囲み文字で,データにもアポストロフィがある場合

    [図データ]

  7. データの先頭が囲み文字と同じ文字の場合は,データの文字を2個連続で記述してください。その上で,フィールドデータを囲み文字で囲んでください。

    (例)二重引用符(")が囲み文字で,データが「"ABC」の場合

    [図データ]

    ただし,データの先頭に半角空白またはタブを挿入した場合は,フィールドデータを囲み文字で囲む必要はありません。

  8. 囲み文字で囲んだ個所は,すべてデータとして扱われます。

  9. フィールドデータ中に区切り文字がある場合,フィールドデータ全体を囲み文字で囲んでください。囲み文字で囲まない場合,区切り文字として扱われ,入力データの列数不一致などの結果になります。

    囲み文字が二重引用符(")で,区切り文字がコンマ(,)の場合について,例を次に示します。

    例1:次の場合は,「1」,「foo,bar」,「3」の3列のフィールドデータとして扱われます。

    1,"foo,bar",3

    例2:次の場合は,「1」,「foo」,「bar」,「3」の4列のフィールドデータとして扱われます。

    1,foo,bar,3
■配列型のフィールドデータの記述規則

配列型の列に格納される配列型のフィールドデータの記述規則について説明します。

ここでは,基本的な規則を説明しています。そのほかの規則については,「表17‒14 フィールドデータの記述形式」の「配列データ」を参照してください。

  1. 配列型のフィールドデータは,波括弧({ })で囲み,各配列要素をコンマ(,)で区切ってください。

    (例1)
    …,{ABC,DEF,XYZ},…

    下線部分が配列型のフィールドデータです。

    上記の例の場合,配列型の列の各配列要素には,ABCDEFXYZが格納されます。

    (例2)
    …|{ABC,DEF,XYZ}|…

    下線部分が配列型のフィールドデータです。

    -sオプションを指定して,フィールドデータの区切り文字をストローク(|)に変更した場合でも,各配列要素はコンマ(,)で区切ります。上記の例の場合も,配列型の列の各配列要素には,ABCDEFXYZが格納されます。

  2. 各配列要素を二重引用符(")で囲むこともできます。

    (例)
    …,{"ABC","DEF","XYZ"},…

    上記の例の場合,配列型の列の各配列要素には,ABCDEFXYZが格納されます。

    各配列要素を囲む二重引用符(")には,囲み文字と同じ規則が適用されます。

  3. 配列型のフィールドデータは,囲み文字で囲むことを推奨します。配列型のフィールドデータを囲み文字で囲まないと,囲み文字に関するエラーが発生した場合,エラーが発生した個所以降の全フィールドデータがエラーと判定されることがあります。

    (例)囲み文字がアポストロフィ( ' )の場合
    …,'{ABC,DEF,XYZ}',…
  4. 配列要素に波括弧({ }),コンマ(,),または改行コードが含まれている場合は,配列要素を二重引用符(")で囲んでください。

    (例)配列要素に波括弧({ })が含まれている場合
    …,{ABC,"DEF{","{XYZ}"},…

    上記の例の場合,配列型の列の各配列要素には,ABCDEF{{XYZ}が格納されます。

    また,配列要素に二重引用符(")が含まれている場合も,配列要素を二重引用符(")で囲んでください。さらに,配列要素中の二重引用符(")を2個連続で記述してください。

    (例)配列要素に二重引用符(")が含まれている場合
    …,{ABC,"DE""F","""XYZ"""},…

    上記の例の場合,配列型の列の各配列要素には,ABCDE"F"XYZ"が格納されます。

  5. 配列型のフィールドデータ中に区切り文字と同じ文字がある場合,区切り文字と同じ文字は配列要素の一部と見なされます。

    (例)区切り文字がストローク(|)の場合
    …|{ABC,D|EF,|XYZ|}|…

    上記の例の場合,配列型の列の各配列要素には,ABCD|EF|XYZ|が格納されます。

  6. 配列型のフィールドデータ中に囲み文字と同じ文字がある場合の仕様は,次のようになります。

    • 配列型のフィールドデータを囲み文字で囲んでいない場合

      配列型のフィールドデータ中の囲み文字と同じ文字は,配列要素の一部と見なされます。

      (例)囲み文字がアポストロフィ( ' )の場合
      …,{AB'C,'DEF',XY''Z},…

      上記の例の場合,配列型の列の各配列要素には,AB'C'DEF'XY''Zが格納されます。

    • 配列型のフィールドデータを囲み文字で囲んでいる場合

      配列型のフィールドデータ中の囲み文字と同じ文字は,2個連続で記述してください。

      (例)囲み文字がアポストロフィ( ' )の場合
      …,'{AB''C,''DEF'',XY''''Z}',…

      上記の例の場合,配列型の列の各配列要素には,AB'C'DEF'XY''Zが格納されます。