SQL

SQLLOADERコマンドでCSVファイル、TSVファイルを取り込む方法

  • このエントリーをはてなブックマークに追加

SQLLOADERコマンドでCSVファイル、TSVファイルを取り込む方法です。

SQLLOADERコマンドでCSVファイルのデータを取り込む

CTLファイル

OPTIONS (
    SKIP   = 0    -- スキップ無し(全件取り込む)
  , DIRECT = TRUE -- ダイレクト・パス・ロード(制約無視の高速取り込み)
  , ROWS   = 1000 -- 1000件単位で登録
)
LOAD DATA
INFILE      '.\data\TB_SAMPLE.csv'
BADFILE     '.\data\TB_SAMPLE.bad'
DISCARDFILE '.\data\TB_SAMPLE.dsc'
TRUNCATE INTO TABLE TB_SAMPLE
FIELDS TERMINATED BY "," OPTIONALLY ENCLOSED BY '"'
( ID , NAME )

SQLLOADERコマンド実行

sqlldr TEST/TEST@localhost/orclpdb CONTROL='./CTL/TB_SAMPLE.CTL' LOG='./LOG/TB_SAMPLE.log'
SQL*Loader: Release 12.2.0.1.0 - Production on 火 3月 3 01:09:17 2020 Copyright (c) 1982, 2017, Oracle and/or its affiliates. All rights reserved. 使用パス: ダイレクト セーブ・データ・ポイントに達しました - 論理レコード件数1000。 ロードが完了しました - 論理レコード件数1500。 表TB_SAMPLE: 1500 行は正常にロードされました。 確認するログ・ファイル: ./LOG/TB_SAMPLE.log ロードの詳細を参照してください。

SQLLOADERコマンドでTSVファイルのデータを取り込む

CTLファイル

OPTIONS (
    SKIP   = 0    -- スキップ無し(全件取り込む)
  , DIRECT = TRUE -- ダイレクト・パス・ロード(制約無視の高速取り込み)
  , ROWS   = 1000 -- 1000件単位で登録
)
LOAD DATA
INFILE      '.\data\TB_SAMPLE.tsv'
BADFILE     '.\data\TB_SAMPLE.bad'
DISCARDFILE '.\data\TB_SAMPLE.dsc'
TRUNCATE INTO TABLE TB_SAMPLE
FIELDS TERMINATED BY X'09' TRAILING NULLCOLS
( ID , NAME )

SQLLOADERコマンド実行

sqlldr TEST/TEST@localhost/orclpdb CONTROL='./CTL/TB_SAMPLE.CTL' LOG='./LOG/TB_SAMPLE.log'
SQL*Loader: Release 12.2.0.1.0 - Production on 火 3月 3 01:10:46 2020 Copyright (c) 1982, 2017, Oracle and/or its affiliates. All rights reserved. 使用パス: ダイレクト セーブ・データ・ポイントに達しました - 論理レコード件数1000。 ロードが完了しました - 論理レコード件数1500。 表TB_SAMPLE: 1500 行は正常にロードされました。 確認するログ・ファイル: ./LOG/TB_SAMPLE.log ロードの詳細を参照してください。

TSVファイルを使った方がダブルクォートの取り込みもできますし、エクセルデータをコピー&ペーストでTSVファイルもサクッと作れるので、TSVファイルとSQLLOADERの組み合わせの方がおすすめです。

  • このエントリーをはてなブックマークに追加

コメントを残す

*