【发布时间】:2012-05-06 13:08:49
【问题描述】:
我收到:
- ORA-31011:XML 解析失败
- ORA-19202:XML 处理发生错误
- LPX-00230:在名称或 Nmtoken 中发现无效字符 0 (U+0000)
- 第 2 行出错
- ORA-06512:在“SYS.XMLTYPE”,第 254 行
- ORA-06512:在第 1 行
尝试执行时:
select extractValue(
XMLType(
replace(myxmlcolumn,CHR(0),''
)
), '/xpath/to/data'
)
foo,bar,foobar
from sch.tab
WHERE cond='cond'
“myxmlcolumn”当然是 CLOB 数据类型,但包含 XML。如果我没有在 NULL 上执行 replace(),这个错误是有意义的。那和错误是间歇性的(可能与我的子句匹配有关)。应该在 XML 转换之前替换 null 时如何报告它?
10g 企业版版本 10.2.0.5.0,Toad for Oracle pro 10.6.1.3
编辑: - 还尝试用“H”替换以证明它没有重新插入 NULL(同样的错误) - 还尝试了 replace(myxmlcolumn,'\n','' 以防它不喜欢 chr(0) (同样的错误)
【问题讨论】: