UpdateXML产生ORA-31067:必须使用有效节点和相同类型更新XML节点

时间:2015-01-26 09:32:07

标签: xml oracle oracle11g

我正在运行Oracle Database 11g企业版11.2.0.3.0版 - 64位生产。

使用时

updatexml()

我收到错误ORA-31067: XML nodes must be updated with valid nodes and of the same type。表示要更新的每个节点的XPath_string始终引用text()节点,因此更新这些节点时AFAIK没有类型限制。写入这些节点的内容始终为Varchar2CharNumber类型。

更糟糕的是,这个错误发生在制作中,但我根本无法在我的测试系统上复制它。

我想知道它是否与我的XML中的一个节点具有自定义类型的xsi:type属性这一事实有关。我在哪里可以找到类型定义?也许这是在生产系统的某个地方定义的,而不是在我的测试克隆上定义的?

我注意到有时文本可能包含<个字符,这似乎是Oracle旧版本(10g)中的一个错误,参见Oracle updateXml "less than sign" as text但是我的测试系统上没有发生这种情况,我尝试了<, >, &的各种组合。

0 个答案:

没有答案