我收到:
- 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(),这个错误就会有意义。这个错误是间歇性的(可能与我的条款的匹配有关)。当 null 应该在 XML 转换之前被替换时,如何报告 null?
10g 企业版版本 10.2.0.5.0、Toad for Oracle pro 10.6.1.3
编辑: - 还尝试用“H”替换以证明它没有插入 NULL(相同的错误) - 还尝试了替换(myxmlcolumn,'\n','',以防它不喜欢 chr(0)(相同的错误)
最佳答案
在我的 Oracle 支持中搜索 LPX-00230
,这看起来像 Bug 9871430。
(我会发布更多详细信息,但我认为我们不应该共享该网站的信息。)
关于xml - LPX-00230 : invalid character 0 (U+0000) found in a Name or Nmtoken,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10322612/