问题描述
你好,
甲骨文新手在这里。
对于打印到报表上的XML数据,我收到此错误 “字符引用” & #56256 “是无效的XML字符”。导致问题的XML数据来自数据库中的VARCHAR2数据列。
我已经将列过滤到我创建的单独备份表中,我想浏览记录,以便找到这个无效字符在哪里。
然后我需要写一个更新语句,用一个有效的替换无效字符。
我不知道如何做到这一点。是否有一个正则表达式,我可以用SELECT语句编写?
我在下面尝试过,但他们没有提出任何结果:
很高兴有人能帮忙。
谢谢!
甲骨文新手在这里。
对于打印到报表上的XML数据,我收到此错误 “字符引用” & #56256 “是无效的XML字符”。导致问题的XML数据来自数据库中的VARCHAR2数据列。
我已经将列过滤到我创建的单独备份表中,我想浏览记录,以便找到这个无效字符在哪里。
然后我需要写一个更新语句,用一个有效的替换无效字符。
我不知道如何做到这一点。是否有一个正则表达式,我可以用SELECT语句编写?
我在下面尝试过,但他们没有提出任何结果:
select * from tabname where instr(colname,chr(56256)) > 0;复制
select * from tabname where colname like unistr('%\dbc0%');复制
很高兴有人能帮忙。
谢谢!
专家解答
在XML中,您可以使用 & # NNNN; 形式中的代码来表示ISO/IEC 10646字符集中的条目。
例如,& #65是字符A,因此XML处理可以将此代码更改为字母A:
& #56256是无效代码-数字太长。所以我think你需要搜索确切的文本 & #56256,not将此转换为ascii/unicode。例如:
例如,& #65是字符A,因此XML处理可以将此代码更改为字母A:
select xmltype ( 'A ' ).extract ('test') x from dual; XA 复制
& #56256是无效代码-数字太长。所以我think你需要搜索确切的文本 & #56256,not将此转换为ascii/unicode。例如:
select * from tabname where instr ( colname, '�' ) > 0;复制
文章转载自ASKTOM,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
Oracle RAC 一键安装翻车?手把手教你如何排错!
Lucifer三思而后行
569次阅读
2025-04-15 17:24:06
【纯干货】Oracle 19C RU 19.27 发布,如何快速升级和安装?
Lucifer三思而后行
502次阅读
2025-04-18 14:18:38
Oracle SQL 执行计划分析与优化指南
Digital Observer
468次阅读
2025-04-01 11:08:44
XTTS跨版本迁移升级方案(11g to 19c RAC for Linux)
zwtian
460次阅读
2025-04-08 09:12:48
墨天轮个人数说知识点合集
JiekeXu
456次阅读
2025-04-01 15:56:03
【ORACLE】记录一些ORACLE的merge into语句的BUG
DarkAthena
444次阅读
2025-04-22 00:20:37
Oracle数据库一键巡检并生成HTML结果,免费脚本速来下载!
陈举超
437次阅读
2025-04-20 10:07:02
【ORACLE】你以为的真的是你以为的么?--ORA-38104: Columns referenced in the ON Clause cannot be updated
DarkAthena
419次阅读
2025-04-22 00:13:51
Oracle 19c RAC更换IP实战,运维必看!
szrsu
405次阅读
2025-04-08 23:57:08
【活动】分享你的压箱底干货文档,三篇解锁进阶奖励!
墨天轮编辑部
385次阅读
2025-04-17 17:02:24