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

Insert XML with more than 4000 characters into a Oracle XMLTYPE column(将超过 4000 个字符的 XML 插入 Oracle XMLTYPE 列)
本文介绍了将超过 4000 个字符的 XML 插入 Oracle XMLTYPE 列的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个 oracle 表,其中有一列来自SYS.XMLTYPE"类型的列和一个正在执行插入操作的存储过程:

I have an oracle table with a column from type "SYS.XMLTYPE" and a storage procudure which is doing the insert:

(短版):

PROCEDURE InsertXML 
(
     pXMLData IN LONG 
)
IS
BEGIN

    INSERT INTO MY_TABLE (XML_DATA) VALUES(pXMLData);

END InsertXML;

我从我的 C# 代码中调用这个 sp,类型为OracleType.LongVarChar".

I call this sp from my C# code with type "OracleType.LongVarChar".

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

Now the problem: If the xml has less than 4000 characters everything is working fine, but by using a xml with more than 4000 characters I get the following error:

ORA-20000: ORA-01461: can bind a LONG value only for insert into a LONG column

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

How can I handle this? Thx 4 answers

推荐答案

查看Oracle docs about XMLType

Check the Oracle docs about XMLType

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

Also, I believe the datatype should be a CLOB (Character Large Object).

这篇关于将超过 4000 个字符的 XML 插入 Oracle XMLTYPE 列的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Bulk insert with mysql2 and NodeJs throws 500(使用mysql2和NodeJS的大容量插入抛出500)
SQL to Generate Periodic Snapshots from Transactions Table(用于从事务表生成定期快照的SQL)
Inserting NaN value into MySQL Database(将NaN值插入MySQL数据库)
How to get insertId for MySQL using Mysql2 in Node with async and pool?(如何在带异步和池的Node中使用Mysql2获取MySQL的InsertID?)
MyBatis support for multiple databases(MyBatis支持多个数据库)
Oracle 12c SQL: Missing column Headers in result(Oracle 12c SQL:结果中缺少列标题)