mule - 如何在 Mule 的 XMLTYPE 列中插入超过 4000 个字符的 XML
问题描述
我有一个超过 4000 个字符的 XML。XMLTYPE 中 Oracle 中的数据类型。插入或执行脚本组件不允许我将此 XML 插入 Oracle 。我无法更改 Oracle 中的数据类型。有什么方法可以将 XML 插入 XMLTYPE 列。在 Java 中,我可以通过从 Connection 创建 SQLXML 对象来实现它。
SQLXML xml = conn.createSQLXML(); //This allowing to save the xml at any size
我得到的错误
ORA-01461: can bind a LONG value only for insert into a LONG column
插入语句
insert into ABC(ID,RESPONSE_XML) values(123, :RESPONSE_XML))
转型
'RESPONSE_XML' : write(payload, 'application/xml')
如果我减少有效负载 xml 中的字符数,则其插入成功。我们可以在这里做些什么来插入它。我使用的 JDBC 驱动程序是 ojdbc14-10g.jar
解决方案
这可能是 Oracle 的限制。它对 XML 标识符的大小有限制:
XML 标识符长度限制 – Oracle XML DB 仅支持长度为 4000 个字符或更短的 XML 标识符。
https://docs.oracle.com/cd/E18283_01/appdev.112/e16659/appjspec.htm
拥有这样的 XML 简直是疯了。
推荐阅读
- mysql - MySQL日期格式到字符串
- python - 从文本文件中逐行提取数据并将其存储在python中的列表中
- python - 将字典写入 csv 适用于来自 UbuntuVM 的文件,但不适用于来自 Windows 的文件
- c++ - Qt - 如何从桌面应用程序启动 Skype 会话
- python - 使用 pip 安装 pyejabberd 时出现错误
- python - 发送数据的正确编码
- python - 使用 Anaconda 安装软件包的问题
- git - 恢复后恢复已删除的文件git
- azure-devops - 如何使用 Azure DevOps 将构建工件发布到外部组织?
- vue.js - 我有 SVG 文件,我想在其中无限期地循环动画。我不明白我怎么能做到这一点