【Oracle】データファイルとコントロールファイルを利用したインポート

データファイルとコントロールファイルを利用して
Oracleにデータをインポートします。

  • バッチファイル
  • @echo off
    REM == バッチファイル起動ディレクトリ取得 ==
    SET BAT_PASS=%~dp0
    
    REM == データファイルパス設定 ==
    SET DATA_PASS=%BAT_PASS%\data\
    
    REM == コントロールファイルパス設定 ==
    SET CTL_PASS=%BAT_PASS%\ctl\
    
    REM == データファイル名 ==
    SET CSVEXT=.csv
    SET CTLEXT=.ctl
    SET LOGEXT=.log
    SET DATA_ANKEN_KANRI=t_anken_kanri
    
    echo ==============================
    echo 案件管理 データファイル取込
    echo ==============================
    sqlldr USERID='TESTUSR/PASSWORD@サービス名' CONTROL='%CTL_PASS%%DATA_ANKEN_KANRI%%CTLEXT%' DATA='%DATA_PASS%%DATA_ANKEN_KANRI%%CSVEXT%' LOG='%DATA_PASS%%DATA_ANKEN_KANRI%%LOGEXT%'
    
    pause
    
  • コントロールファイル
  • OPTIONS (ERRORS=0, ROWS=10000, DIRECT=TRUE)
    LOAD DATA
    INFILE './t_anken_kanri*.csv' "str '\r\n'"
    APPEND
    INTO TABLE "TESTUSR"."T_ANKEN_KANRI"
    FILEDS TERMINATED BY ','
    OPTIONALLY ENCLOSED BY '"' AND '"'
    DATE FORMAT "YYYY/MM/DD hh24:mi:ss"
    TRAILING NULLCOLS
    (
        項目名1
        項目名2
        項目名3
    )
    
  • データファイル
  • "aaaa","bbbb","cccc"