我有一个外部表,其定义如下所示:
-- Create table
create table EXT_EXTRACT_XMLS
(
extract_type VARCHAR2(100),
clob_filename VARCHAR2(100),
xml_clob CLOB
)
organization external
(
type ORACLE_LOADER
default directory MY_DIRECTORY
access parameters
(
RECORDS DELIMITED BY NEWLINE
BADFILE MY_DIRECTORY:'Xml_Extract.bad'
LOGFILE MY_DIRECTORY:'Xml_Extract.log'
FIELDS TERMINATED BY ','
MISSING FIELD VALUES ARE NULL
(
extract_type char(100),
clob_filename char(100)
)
COLUMN TRANSFORMS (xml_clob FROM LOBFILE (clob_filename))
)
location (MY_DIRECTORY:'xml_extract_list.txt')
)
reject limit UNLIMITED;
在目录MY_DIRECTORY中,我有一个名为xml_extract_list.txt的文件,看起来像这样:
A,extractA.xml
在同一个目录中,我有一个文件extractA.xml,我试图将它加载到表中,作为一行,该行中的CLOB列包含XML。
只要XML文件低于32MB,这基本上就能正常工作。一旦文件超过32MB,这就开始出错,我就不能再读取CLOB了。
这是外部表的限制,还是有一个选项或参数,我可以改变加载超过32MB的文件作为CLOB?
更多信息
我从表中选择的错误消息是:
由于该列是一个CLOB,所以我不能使用DUMP函数来调查幕后发生的事情。
外部表生成的日志文件没有给出任何错误消息。
外部表生成的坏文件为空。
当尝试使用sqlplus查询它时,它看起来有点畸形:
1条答案
按热度按时间nkkqxpd91#
试试看
https://oracle-base.com/articles/10g/external-tables-containing-lob-data