将超过4000个字符的XML插入Oracle XMLTYPE列

Mar*_*rco 2 xml oracle insert ora-01461 ora-20000

我有一个Oracle表,其中的列类型为“ SYS.XMLTYPE”,并且存储过程正在执行插入操作:

(简洁版本):

PROCEDURE InsertXML 
(
     pXMLData IN LONG 
)
IS
BEGIN

    INSERT INTO MY_TABLE (XML_DATA) VALUES(pXMLData);

END InsertXML;
Run Code Online (Sandbox Code Playgroud)

我从C#代码中以“ OracleType.LongVarChar” 类型调用此sp 。

现在的问题是:如果xml的字符数少于4000个,则一切工作正常,但是如果使用的XML字符数超过4000个,则会出现以下错误:

ORA-20000: ORA-01461: can bind a LONG value only for insert into a LONG column
Run Code Online (Sandbox Code Playgroud)

我该如何处理?Thx 4个答案

小智 5

查看有关XMLType的Oracle文档

另外,我认为数据类型应该是CLOB(字符大对象)。