2017-06-09 25 views
1

私はこのソリューションを開発しています。ここではスプール・ファイルを受け取り、テーブルに挿入する必要があります。SQL * Loaderでフォーマットされた日付を処理する

私は常にSQL * Loaderを使用しています。しかし、私は日付でそれを使ったことはありません。私が紹介しますように私はこのエラーを取得しています:

制御ファイル

OPTIONS (ERRORS=999999999, ROWS=999999999) 
    load data 
    infile 'spool.csv' 
    append 
    into table A_CONTROL 
    fields terminated by "," 
    TRAILING NULLCOLS 
    (
    AStatus, 
    ASystem, 
    ADate, 
    AUser, 
    ) 

spool.csv

foo,bar,2015/01/12 13:22:21,User 

しかし、私はこのエラーを得たローダーを実行すると

 Column Name     Position Len Term Encl Datatype 
    ------------------------------ ---------- ----- ---- ---- --------------------- 
    AStatus        FIRST  * ,  CHARACTER 
    ASystem        NEXT  * ,  CHARACTER 
    ADate        NEXT  * ,  CHARACTER 
    AUser        NEXT  * ,  CHARACTER 

    Record 1: Rejected - Error on table A_CONTROL, column ADate. 
    ORA-01861: literal does not match format string 

    Table A_CONTROL: 
    0 Rows successfully loaded. 
    1 Row not loaded due to data errors. 
    0 Rows not loaded because all WHEN clauses were failed. 
    0 Rows not loaded because all fields were null. 
+0

表内の「ADate」のデータ型は? –

+0

それは "DATE"、友人です。 – Imkls

答えて

2

stを変換する挿入のために現在までリングしています。

OPTIONS (ERRORS=999999999, ROWS=999999999) 
    load data 
    infile 'spool.csv' 
    append 
    into table A_CONTROL 
    fields terminated by "," 
    TRAILING NULLCOLS 
    (
    AStatus, 
    ASystem, 
    ADate "TO_DATE(:ADate,'YYYY/MM/DD HH24:MI:SS')", 
    AUser, 
    ) 
+0

これは今のところ魅力的なように機能しています。以前は引用符なしで "TO_DATE"を使用しようとしていました。しかし、今は動作します。ありがとうございました :) – Imkls

関連する問題