在单场多行不获取加载| SQL装载机| 神谕(Multiple rows in single

2019-10-21 19:08发布

我需要从CSV文件加载到Oracle表。 问题IM面是,在描述字段具有在自身多行。

解决方案我使用它作为外壳STRING " (双引号)使用KSH呼吁SQLLDR。

我得到以下两个问题:

  • 具有多行说明的行,不获取加载它终止那里本身和进一步字段的值/列不是装载机可见。 错误:第二外壳串不存在 (显然"未找到)。

  • 说明字段的第二行(和超出线)被视为新的行本身并因此得到填充。 这是垃圾数据。

控制文件:

OPTIONS(SKIP=1)
LOAD DATA
        BADFILE '/home/fimsctl/datafiles/inbound/core_po/logs/core_po_data.bad'
        DISCARDFILE '/home/fimsctl/datafiles/inbound/core_po/logs/core_po_data.dsc'
        APPEND INTO TABLE FIMS_OWNER.FINANCE_PO_INBOUND_T
        FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
        TRAILING NULLCOLS
        (
          PO_NUM,
          CREATED_DATE "to_Date(:CREATED_DATE,'mm/dd/yyyy hh24:mi:ss')",
          PO_TYPE,
          PO_STATUS,
          NOTREQ1 FILLER,
          NOTREQ2 FILLER,
          PO_VALUE,
          LINE_ITEM_NUMBER,
          QUANTITY,
          LINE_ITEM_DESCRIPTION,
          RATE_VALUE,
          CURRENCY_CODE,
          UOM_ID,
          PO_REQUESTER_WWID,
          QUANTITY_ORDERED,
          QUANTITY_RECEIVED,
          QUANTITY_BILLED terminated by whitespace
         )

CSV文件数据:

COL1,8/4/2014 5:52,COL3,COL4,COL5,,,COL8,COL9,"Description Data",COL11,COL12,COL13,COL14,COL15,COL16,COL17

COL1,8/4/2014 8:07,COL3,COL4,COL5,,,COL8,COL9,,"GE MAKE 1X250 WATT HPSV NON INTEGRAL IP-65 **[NEWLINE HERE]**
DIE-CAST ALUMINIUM FIXTURE COMPLETE SET **[NEWLINE HERE]**
WITH SEPRATE CONTROL GEAR BOX WITH CHOKE, **[NEWLINE HERE]**
IGNITOR, CAPACITOR & LAMP-T",COL11,COL12,COL13,COL14,COL15,COL16,COL17

COL1,8/4/2014 8:13,COL3,COL4,COL5,,,COL8,COL9,"Description Data",COL11,COL12,COL13,COL14,COL15,COL16,COL17
文章来源: Multiple rows in single field not getting loaded | SQL Loader | Oracle