2013-09-26 78 views
1

我有程序如何将字符串转换为clob?

PROCEDURE test_proc (text IN Clob) as 
Begin 
    insert into table_name values(SYSDATE,xmltype.createxml(text)); 
end ; 

我跑

begin 
    test_proc('.....text...'); 
end; 

的文本的长度是64.8 KB

erorr:PLS-00172:字符串文本太长

但是,如果我将文本插入到Value/Expresion(SQL Navigator 6.7.0 Relase)中并执行过程 - >执行PL/SQL块

+0

什么是您的表的创建脚本?使用表CREATE TABLE table_name(DATE,content XMLTYPE时)运行代码;''我得到'ORA-31011:XML解析失败',这是正常的。 – mavroprovato

+0

CREATE TABLE TABLE_NAME( date_rep DATE, save_rep XMLTYPE) XMLTYPE save_rep STORE AS对象关系 XMLSCHEMA “name_schema.xsd” ELEMENT “name_element”; ,其中name_schema.xsd是DBMS_XMLSCHEMA.registerSchema –

+0

最大varchar2是32K。 –

回答

2

问题不在于转换,问题在于字符串文字。对于Oracle SQL解析器来说,它太大了。

也许从文件加载CLOB?

+0

但是,如果我将文本插入到SQL Navigator 6.7.0中并执行过程 - >执行PL/SQL块 –