我需要将大约 30,000 行的非常大的 xml 数据分配给 oracle 数据库 11g r2 中的 CLOB 数据类型。我在 Oracle Sql Developer 中使用此命令。
当我使用以下命令时,首先我收到 7 个提示entering quote value
然后当语句执行完成时,我收到“字符串文字太长”错误。
update tablename set columnName = 'large xml data' where id=1;
我在 xml 数据中使用了七个双引号(单引号)来转义单引号。
如何将此数据分配给 CLOB 列?
一种方法是使用 sqlldr。首先,创建一个小桌子:
create table tstclob
(
id number,
doc clob
);
假设您的大文档是文件“c:\data\test_doc.txt”,创建一个 sqlldr 控制文件(“test_doc.ctl”)来加载它:
load data
infile *
replace
into table tstclob
fields terminated by ','
(
ID char(1),
lob_file FILLER char,
DOC LOBFILE(lob_file) TERMINATED BY EOF
)
begindata
1,c:\data\test_doc.txt
然后运行 sqlldr(在本例中,从 c:\data 目录):
sqlldr control=test_doc.ctl userid=someuser@somedb/somepass
然后,您可以使用 tstclob 表更新您想要的任何表。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)