问题描述
你好!
我创建了一个数据库,以便存储xml。我要存储大量数据。有人告诉我,Oracle 12cR2允许存储xml并很好地处理它们。
我创建了一个带有xmltype列的表。
然后我试图通过Toad for Oracle在该表中存储一个XML (大约4,443行,我没有粘贴到这里),并得到以下错误:
拜托,我需要帮助。
问候,
我创建了一个数据库,以便存储xml。我要存储大量数据。有人告诉我,Oracle 12cR2允许存储xml并很好地处理它们。
我创建了一个带有xmltype列的表。
CREATE TABLE test.invoicexml ( id NUMBER, data xmltype );
然后我试图通过Toad for Oracle在该表中存储一个XML (大约4,443行,我没有粘贴到这里),并得到以下错误:
ORA-01704: string literal too long
拜托,我需要帮助。
问候,
专家解答
这更可能与您如何将XML呈现给数据库以及您使用的数据类型有关。对于大型XML,您可以使用clob来容纳内容,然后插入到数据库中,例如
SQL> create table t ( id int, x xmltype); Table created. SQL> SQL> set serverout on SQL> declare 2 c clob; 3 begin 4 dbms_lob.createtemporary(c,true); 5 6 c := ''; 7 for i in 1 .. 100 8 loop 9 c := c || ' '; 12 dbms_output.put_line('length = '||dbms_lob.getlength(c)); 13 14 insert into t values (1, xmltype(c)); 15 dbms_lob.freetemporary(c); 16 end; 17 / length = 101111 PL/SQL procedure successfully completed.'||rpad('blah',1000,'x')||' '; 10 end loop; 11 c := c || '
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




