首页 > 解决方案 > 无效的 XML 字符错误 - 如何从 VARCHAR2 数据库列中查找无效字符?

问题描述

甲骨文新手在这里。

对于打印到报表上的 XML 数据,我收到此错误“字符引用“�”是无效的 XML 字符”。导致问题的 XML 数据来自数据库中的 VARCHAR2 数据列。我已经过滤掉了该列,现在我想通过记录来找到这个无效字符在哪个记录中,并编写一个更新语句,用一个有效字符替换无效字符。我不知道该怎么做。有没有我可以用 SELECT 语句为此编写的正则表达式?有人能帮我吗?

谢谢!

标签: xmloracleplsqloracle11gplsqldeveloper

解决方案


要确定哪些条目具有您要消除的字符,您可以在列中搜索该字符

select colname 
  from tabname 
 where instr(colname,chr(56256)) > 0;

您可以用更新语句替换:

update tablname
   set colname = replace(colname,chr(56256),'replacementstring')
 where instr(colname,chr(56256)) > 0;

推荐阅读