SQL*Loader

[SQL*Loader] 固定長ファイルからデータを取り込む

投稿日:

SQL*Loaderで固定長ファイルからデータを取り込むサンプルです。

前提

以下の固定長ファイルから、以下のテーブルにロードします。

(部品マスタ.txt)
部品コード,商品名,単価,在庫数,適用日 1001ねじ 00580020002021/01/01 1002くぎ 00350150002021/01/02 1003ナット 01020007002021/01/03
【部品マスタ】
列名
CDCHAR(4)
NAMEVARCHAR2(10)
PRICENUMBER(5,2)
STOCKNUMBER(5,0)
TEKIYODATE

サンプル

制御ファイル(ctlファイル)

POSITIONで開始位置と終了位置を指定して、型を指定します。


SQL*Loaderの型はテーブルの型とは異なり、以下の型を指定します。

【SQL*Loaderの型】
DBの型SQL*Loaderの型備考
文字型CHAR、VARCHAR2CHARCHARとVARCHAR2の区別はしません。
整数値型NUMBER(m,0)DECIMAL EXTERNAL桁数の指定はしません。
小数値型NUMBER(m,n)ZONED(m,n)ZONEDの引数に桁数の指定をします。
日付型DATEDATE

実行コマンド例

実行例
C:¥>sqlldr usr01/usr01@db01 control=c:¥buhin.ctl log=c:¥部品マスタ.log

ID:user01、パスワード:user01、接続文字列:db01 の例です。


実行結果

【部品マスタ】
CDNAMEPRICESTOCKTEKIYO
1001ねじ5.8020002021/01/01
1002くぎ3.50150002021/01/02
1003ナット10.207002021/01/03

解説

  • POSITIONに指定する数値はバイト数です。
  • 実行時のログは「部品マスタ.log」に出力されます。
  • 取り込みに失敗した場合は「部品マスタ.bat」ファイルに対象データが書き出されます。

スポンサーリンク

スポンサーリンク

-SQL*Loader

執筆者:



comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

スポンサーリンク