You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Informatica中实现Oracle JSON列数据转置为行的方法问询

在Informatica中实现Oracle JSON数据转置为行的操作步骤

作为Informatica新手,你不需要直接使用SAMPLE表作为源,而是可以通过自定义SQL查询直接解析JSON并输出结构化数据,具体操作如下:

1. 替换源为自定义SQL查询

  • 打开你的Informatica Mapping,删除已添加的SAMPLE源表
  • 重新添加源时,选择**自定义SQL(User-Defined SQL)**选项(不同Informatica版本可能命名略有差异,比如"SQL Query")
  • 将修正后的SQL语句粘贴到输入框中(已修正你原SQL中的几处错误):
select
    substr(CTId, 1, instr(CTId, '_') - 1) as ID,
    substr(CTId, instr(CTId, '_') + 1) as VERSION,
    type as Typ,
    eg as EG
from
(
    select jt.*
    from SAMPLE,
    JSON_TABLE (ref_value, '$.CTMappings[*]'
        columns (
            CTId varchar2(50) path '$.CTId',
            eg varchar2(50) path '$.EG',
            type varchar2(50) path '$.Type'
        )
    ) jt
    where trim(PROPERTY) = 'Ellipse.Integration.FSM.FormMappings'
)

2. 验证源字段

  • 粘贴SQL后,Informatica会自动解析出查询返回的字段:ID、VERSION、Typ、EG,与你预期的输出结构完全匹配
  • 若后续需要调整字段规则,可直接修改SQL中的逻辑,或通过Expression转换组件进一步处理

3. 完成映射流程

  • 将自定义SQL源的字段直接连接到目标表(或中间转换组件)
  • 确保目标表的字段结构与输出字段一一对应

关键修正说明

  • JSON路径修正:原SQL中$.Mappings[*]改为$.CTMappings[*],匹配你JSON数据中数组的实际键名
  • 表字段修正:原SQL中pref_property改为PROPERTY,对应你表的实际列名
  • VERSION提取优化:改用instr(CTId, '_')定位下划线位置,避免固定索引导致的错误,适配不同长度的CTId值
  • 字段别名调整:直接将SQL中的别名改为你预期的输出字段名,减少后续转换操作

内容的提问来源于stack exchange,提问作者JAI kumar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 04:01:18