我收到:
- 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 强制转换之前替换空值,如何报告它?
10g 企业版 10.2.0.5.0,Toad for Oracle pro 10.6.1.3
编辑:-还尝试用'H'替换以证明它没有在中插入NULL(相同的错误)-还尝试了replace(myxmlcolumn,'\ n',''以防它不喜欢chr(0 ) (同样的错误)