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

Azure Data Factory单条记录时Collection reference失效如何解决

问题根因

该问题是XML解析的通用特性导致的:默认场景下,解析器仅会将≥2个的同级同名节点识别为数组类型,仅存在1个同级同名节点时,会被判定为对象类型,你配置的Collection Reference是针对数组结构设计的,因此匹配不到节点导致无数据写入。

解决方案

方案1(优先推荐,无需改动现有流程)

修改XML读取数据集的解析配置即可直接修复:

  • 打开你用来读取XML文件的数据集,进入格式设置板块
  • 勾选将单例元素视为数组选项,对应数据集的JSON定义会自动添加 "singletonAsArray": true 配置项
  • 保存配置后重新运行Copy Activity,单条Room记录也会被正常识别为数组元素完成写入

方案2(兼容旧版集成运行时场景)

如果方案1不生效,可改用映射数据流替换原Copy Activity做数据处理:

  • 在数据流中添加XML源,正常读取目标XML文件
  • 添加派生列转换,新建RoomArray字段,表达式写为 array(Room),强制将Room节点转换为数组类型,不受节点数量影响
  • 添加扁平化转换,展开RoomArray下的Id、Code、Beds等所有子字段
  • 配置数据库接收器,匹配字段后运行即可

方案3(临时变通方案)

如果不方便修改数据工厂侧配置,可调整XML文件生成规则:
在Rooms节点添加xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"属性,同时给Room节点添加msdata:IsDataSet="true"属性,强制XML解析器将Room节点识别为数组集合。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 06:45:03