読者です 読者をやめる 読者になる 読者になる

学習履歴

プログラミングなどの学習履歴

SQL*Loaderのコントロールファイル書き方の一例

LOAD DATA

INFILE 'ファイル名'

BADFILE 'ファイル名.bad'

CONTINUEIF LAST <> '"'

INTO TABLE テーブル名

TRUNCATE

FIELDS TERMINATED BY "," OPTIONALLY ENCLOSED BY '"'

TRAILING NULLCOLS(

    カラム1 DECIMAL EXTERNAL(10),

    カラム2CHAR(100),

    カラム3 CHAR(20000),

    カラム4 "TO_DATE(:カラム4, 'YYYY/MM/DD HH24:MI:SS')"

)

 

シェルスクリプト側で

sqlldr 接続先のDB control=コントロールファイル名 skip=1 log=ログファイル名

 

SQL*Loaderはログファイルを同じファイル内に追記することはできず、

上書いてしまう。

SQL*Loader側でDECIMAL EXTERNALの方はOracleでいうとNumber型にあたる。

CHAR(20000)の箇所はOracleではCLOB型にしています。

上記のは私が実際に使った一例です。