2007.03.15

Oracle SQL*Loader

開発中にテストを行う場合によくデータを手作りすることって有りますよね?
「●×▲表という帳票をテストしたい。しかし登録画面は未完成」
「登録画面はまだ作成されていないが、そこから生まれるデータが1年分欲しい」など。

データを作成したい時、皆さんはどのように作成しているのるでしょうか?
場面にもよるでしょうが、私は主に
・ACCESSで編集してペタリ。
・ストアド等を作成し、ループを回して作成。
・CSVを作成編集して取り込む。
の3パターンを使い分けています。

私は主にDBがOracleでの開発を行ってきました。
そこで、今回はSQL*Loader でCSVインポートの方法を簡単に書きたいと思います。

まずコントロールファイルを作成します。
************ hogehoge.ctl

load data infile 'C:\・・・'   ←CSVファイルのパス
append into table テーブル名
fields terminated by ","    ←カンマ区切りの場合
optionally enclosed '\n'
trailing nullcols
(
SHAIN_CD
, SHAIN_NAME
, ADDRESS
, TEL
:
:
)

************

そしてコマンドでSQL*Loaderを実行します。

> sqlldr userid=○○○/○○○@hoge control=C:\hogehoge.ctl skip=1 (←項目名の1行目を跳ばす場合)

これで取り込みは完了です。
テスト用にちょっとしたデータの移植などはこれで簡単に行えて便利です。

photo
admin