蜜蜂号覚書 SQL*Loader
※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

SQL*Loader

制御ファイル構文

--例:データ追加。キーが重複しなかったものだけ追加される。
LOAD DATA
INFILE 'data/data.csv'
BADFILE 'data.bad'
APPEND
INTO TABLE HOGE
FIELDS TERMINATED BY ","
TRAILING NULLCOLS
(
  HOGE,
  MOGE
)

コメント文

--This is a comment.
ハイフン2個(--)行末までコメント化。ただしデータ部には指定できない。

OPTIONS句

LOAD DATA文の前に指定する。

LOAD DATA

データロード開始指示。

CHARACTERSET

読み込みファイルの文字コードがDBの文字コードと異なる場合にファイルの文字コードを指定。(JA16SJIS, JA16EUC, UTF8等)

INFILE

入力データファイルを指定する。

BADFILE

拒否データが書き込まれるファイル名を指定。

DISCARDFILE

廃棄ファイルが書き込まれるファイル名を指定。

FIELD

  • TERMINATED BY : データ区切り文字。カンマ区切りの場合は「","」。タブ区切りの場合は「X'09'」。固定長の場合は不要。
  • OPTIONALLY ENCLOSED BY : データ囲み文字。囲まない場合は不要。ダブルクォートの場合、「'"'」。
各項目の後ろには、関数を記述することも可能。関数の引数に書く項目名には「:」を付けること。
HOGEDATE "TO_DATE(:HOGEDATE, 'YYYY/MM/DD')"
属性指定をすることも可能。
HOGENUM DECIMAL EXTERNAL
指定可能属性は以下。
属性 DB属性 説明
CHAR CHAR,VARCHAR2 文字列
DECIMAL EXTERNAL NUMBER 数値
ZONED NUMBER 数値(小数扱い)
DATE DATE 日付。指定時は書式を付ける
CONSTANT 何でも 定数

TRAILING NULLCOLS

データのない項目にNULLを入れる。

固定長データの読み込み

FIELD指定時に以下のようにする。
HOGE POSITION(1:10) CHAR
POSITIONで読み込み範囲を指定する。この場合1バイトから10バイト分。0FIXでは無い(1FIX)ので注意。

SQLLDRのオプション引数で指定する

$>SQLLDR user/pass@sid control=control.ctl data=inputfile log=logfile bad=badfile

control

コントロールファイルを指定する。

data

INFILE要素と同じ。

log

実行ログを記録するファイルを指定する。

bad

BADFILE要素と同じ。

参考URL

何かあればどうぞ。

名前:
コメント: