【问题标题】:How to end the load infile process in oracleoracle中如何结束load infile进程
【发布时间】:2015-08-03 11:13:36
【问题描述】:

我正在尝试使用 ctl 文件加载数据,但出现语法错误,即:SQL*Loader-350: 第 15 行的语法错误。 期待“,”或“)”,找到关键字。 COS“TRUNC(:COS/32)”,由空白终止 以下代码是我的尝试。

load data
INFILE 'rtd.txt'
INTO TABLE RTD_ATTLAS_TMP
APPEND
FIELDS TERMINATED BY '\|'
(
TRAFFIC_CUST_ID "UPPER(:TRAFFIC_CUST_ID)",
SOURCE_DEV_NAME "UPPER(REGEXP_REPLACE(:SOURCE_DEV_NAME, '\\.\\D+', '', 1,  0))",
DEST_DEV_NAME "UPPER(REGEXP_REPLACE(:DEST_DEV_NAME, '\\.\\D+', '', 1, 0))",
DATE_STAMP boundfiller,
TIME_STAMP "to_date(:DATE_STAMP ||' '|| :TIME_STAMP, 'mm/dd/yyyy   hh24:mi:ss')",
MIN_RTD,
AVG_RTD,
MAX_RTD,
COS "TRUNC(:COS/32)",TERMINATED BY WHITESPACE
)

这是我要加载的文件'rtd.txt':

NEW FEEDS TEST|ARAETSBUEAR01H03|172.20.227.220|10/08/2014|00:00:00|159|159|159|104

【问题讨论】:

  • SQL*Loader-350:第 15 行的语法错误。应为“,”或“)”,找到关键字 by。 COS“TRUNC(:COS/32)”,由空白终止
  • 您希望第 15 行的 ,TERMINATED BY WHITESPACE 有什么效果?逗号使它现在看起来像一个名为 TERMINATED 的新列。
  • 我想在 COS "TRUNC(:COS/32)" 列之后用 WHITESPACE 结束进程..
  • 在要解释为:COS 的值之后是否还有更多文本,或者只是换行符?如果您在显示的行尾之前只有空格(或下一个| 分隔符),那么您不需要做任何特别的事情。
  • 我已更改为 COS "TRUNC(:COS/32)" TERMINATED BY WHITESPACE ,但我遇到了同样的错误,

标签: oracle sql-loader ctl


【解决方案1】:

我已经在我的代码中更改了它,它工作正常,

COS TERMINATED BY WHITESPACE  "TRUNC(:COS/32)"  

【讨论】:

    猜你喜欢
    • 2012-02-15
    • 1970-01-01
    • 2015-02-26
    • 1970-01-01
    • 2017-02-26
    • 1970-01-01
    • 2014-01-25
    • 1970-01-01
    相关资源
    最近更新 更多