问题描述
嗨,汤姆,我正在尝试解析一个Json。
我正在使用Oracle数据库12c企业版版本12.2.0.1.0-64位生产
Json输入是CLOB,因为它可以有32767多个字符。
某些值可以是特殊字符,并且存在此字符时解析失败。
这里有两个非常简单的例子
失败消息:
第12行出错
ORA-40441: JSON错误
ORA-06512: en "SYS.JDOM_T",l í nea 9
ORA-06512: en "SYS.JSON_OBJECT_T",l í nea 100
ORA-06512: en l í nea 7
?我如何避免这个问题?
谢谢!
我正在使用Oracle数据库12c企业版版本12.2.0.1.0-64位生产
Json输入是CLOB,因为它可以有32767多个字符。
某些值可以是特殊字符,并且存在此字符时解析失败。
这里有两个非常简单的例子
/*WORKS FINE*/ DECLARE L_datos CLOB; L_json Json_object_t; BEGIN l_datos:='{value:"hola"}'; L_json := Json_object_t.Parse (L_datos); END; /*FAILS BECAUSE THE character "á"*/ DECLARE L_datos CLOB; L_json Json_object_t; BEGIN l_datos:='{value:"holá"}'; L_json := Json_object_t.Parse (L_datos); END;复制
失败消息:
第12行出错
ORA-40441: JSON错误
ORA-06512: en "SYS.JDOM_T",l í nea 9
ORA-06512: en "SYS.JSON_OBJECT_T",l í nea 100
ORA-06512: en l í nea 7
?我如何避免这个问题?
谢谢!
专家解答
该问题在18c中得到解决。所以你可以升级到那个;)
或者您可以尝试将字符存储为Unicode:
或者您可以尝试将字符存储为Unicode:
DECLARE L_datos CLOB; L_json Json_object_t; BEGIN l_datos:='{value:"hol\u00E1"}'; L_json := Json_object_t.Parse (L_datos); END; /复制
文章转载自ASKTOM,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
【纯干货】Oracle 19C RU 19.27 发布,如何快速升级和安装?
Lucifer三思而后行
671次阅读
2025-04-18 14:18:38
Oracle RAC 一键安装翻车?手把手教你如何排错!
Lucifer三思而后行
631次阅读
2025-04-15 17:24:06
Oracle数据库一键巡检并生成HTML结果,免费脚本速来下载!
陈举超
539次阅读
2025-04-20 10:07:02
【活动】分享你的压箱底干货文档,三篇解锁进阶奖励!
墨天轮编辑部
488次阅读
2025-04-17 17:02:24
【ORACLE】记录一些ORACLE的merge into语句的BUG
DarkAthena
482次阅读
2025-04-22 00:20:37
一页概览:Oracle GoldenGate
甲骨文云技术
464次阅读
2025-04-30 12:17:56
【ORACLE】你以为的真的是你以为的么?--ORA-38104: Columns referenced in the ON Clause cannot be updated
DarkAthena
460次阅读
2025-04-22 00:13:51
火焰图--分析复杂SQL执行计划的利器
听见风的声音
412次阅读
2025-04-17 09:30:30
3月“墨力原创作者计划”获奖名单公布
墨天轮编辑部
371次阅读
2025-04-15 14:48:05
OR+DBLINK的关联SQL优化思路
布衣
350次阅读
2025-05-05 19:28:36