【发布时间】: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