SQL* 加载程序处理格式化日期

SQL* Loader Handling formatted dates

我正在开发这个解决方案,我将收到一个假脱机文件,我需要将它插入到 table。

我一直使用 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.

将字符串转换为日期以便插入。

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,
    )