使用SQL Loader将数据加载到表中时出现以下错误。
SQL*Loader-350: Syntax error at line 21.
Token longer than max allowable length of 258 chars
')
^
控制文件如下:
OPTIONS (SKIP = 1)
LOAD DATA
APPEND
PRESERVE BLANKS
INTO TABLE "INTL"
FIELDS TERMINATED BY '|'
TRAILING NULLCOLS
(
CO_BDI_INTERLOCUTOR CHAR(15),
NU_DOCUMENTO CHAR(17),
CO_TRATAMIENTO CHAR(1) "NVL(:CO_TRATAMIENTO,' ')",
DS_NOMBRE CHAR(50),
DS_APELLIDO_1 CHAR(50),
DS_APELLIDO_2 CHAR(50),
CO_CARGO CHAR(2) "NVL(:CO_CARGO,' ')",
DS_COMENTARIO CHAR(255) "NVL(:DS_COMENTARIO,' ')",
DS_ARE_FUN_ITL_GRC CHAR(100),
FX_INI_VIGENCIA CHAR(10),
FX_FIN_VIGENCIA CHAR(10) "NVL(:FX_FIN_VIGENCIA,' ')",
CO_CUC_CLIENTE CHAR(8),
CO_CUC_CABECERA CHAR(8),
CO_HITO CHAR(8),
DS_SIS_ORIGEN CHAR(4),
CO_INTERLOCUTOR CHAR(15),
CO_TIPO_DOC CHAR(1),
CO_IDIOMA CHAR(3)
)
问题似乎是字段“DS_COMENTARIO”,因为如果字段为NULL,我用长度为255的空格替换数据。
我的其他表和Control文件也有类似的问题。
你能帮帮我吗?
谢谢, Savitha
答案 0 :(得分:1)
尝试
DS_COMENTARIO CHAR(255)“NVL(:DS_COMENTARIO,LPAD('',255,'')”,
它基本上将1个字符串填充为255个字符。