KUP-04026:字段太长或数据类型错误

问题描述 投票:0回答:1

我收到错误

KUP-04021:字段 LONG_TEXT 的字段格式错误
KUP-04026: 对于数据类型来说字段太长

表结构为

create table test(
NAME varchar2(4000),
STATUS varchar2(4000),
LONG_TEXT CLOB)
ORGANIZATIONAL EXTERNAL
( TYPE ORACLE_LOADER
DEFAULT DIRECTORY "TEST_DIRECT"
ACCESS PARAMETERS
( RECORDS DELIMITED BY NEWLINE
SKIP 1
FIELDS TERMINATED BY ','
MISSING FIELDS VALUES ARE NULL
(
NAME,
STAtUS,
LONG_TEXT)
)LOCATION
('test.csv'
)
REJECT LIMIT UNLIMITED;

日志文件显示为

Fields in the Data sorce:
NAME
Terminated by","     CHAR (255)
Trim whitespaces same as sql loader
STATUS
Terminated by","     CHAR (255)
Trim whitespaces same as sql loader
LONG_TEXT
Terminated by","     CHAR (255)
Trim whitespaces same as sql loader

KUP-04021 field formatting error for LONG_TEXT
KUP-04026: field too long for datatype
KUP: record 2 rejected in file path/test.csv

LONG_TEXT 数据如下

[![LONG_TEXT 字符串]()

帮助应该更加感激。谢谢

我尝试将 LONG_TEXT 文本存储在表列 LONG_TEXT 中,但出现错误。请问有人可以指导我吗?

sql oracle plsqldeveloper plsql-package
1个回答
0
投票

主要问题是,如果您不想要默认大小 255,则需要指定字段长度。例如:

(
    NAME      char(4000),
    STATUS    char(4000),
    LONG_TEXT char(999999999)
)

我不确定 SQL*Loader 上下文中

CHAR
的最大大小是多少。您的代码中还存在一些其他语法错误,并且在使用包含逗号和换行符的大型文本文件时,您可能会遇到更多错误。 SQL*Loader 和外部表可能非常棘手,您需要经常参考 SQL*Loader 控制文件参考

© www.soinside.com 2019 - 2024. All rights reserved.