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

解决Azure Data Factory中XML文件整段存入SQL Server单个单元格问题

解决Azure Data Factory将整段XML存入SQL单个单元格的问题

是的,必须先解析XML结构再写入SQL Server——ADF的复制活动默认会把未解析的XML当作单一文本值处理,直接映射就会存入单个单元格。结合你遇到的集合引用下拉为空的问题,按以下步骤调整:

1. 正确配置XML数据集(核心解决集合引用为空的问题)

集合引用下拉为空,是因为XML数据集没有识别到可拆分的集合节点,需要手动指定或导入架构:

  • 创建/编辑XML数据集,连接到Archer SOAP API返回的数据源
  • 在格式设置中,填写XML的根节点和集合节点(XPath路径):
    比如你的XML结构是:
    return (<ArcherResponse><Records><Record><ID>1</ID><Title>Sample</Title></Record></Records></ArcherResponse>
    )
    则根节点填ArcherResponse,集合节点填ArcherResponse/Records/Record
  • 如果自动导入架构失败,手动在数据集的结构 tab添加对应字段(如ID、Title),匹配XML中的元素名

2. 调整复制活动的映射

  • 重新打开复制活动的映射界面,此时源端会显示解析后的XML字段(而非单一XML文本)
  • 将这些字段一一映射到SQL Server表的对应列即可

3. 复杂XML结构的处理方案

如果你的XML存在多层嵌套或多集合结构,复制活动的简单映射无法满足需求,改用数据流动(Data Flow):

  • 源节点选择XML格式,配置根节点和集合节点拆分XML为行数据
  • 使用派生列、展开等转换操作提取嵌套层级的字段
  • 最后用Sink节点将处理后的数据写入SQL Server

手动修复数据集的集合引用(高级操作)

如果可视化界面无法设置集合节点,直接在数据集的高级编辑器中修改JSON配置:

"typeProperties": {
    "location": {
        "type": "HttpServerLocation",
        "relativeUrl": "/your-archer-soap-api-endpoint"
    },
    "structure": [
        {
            "name": "ID",
            "type": "String"
        },
        {
            "name": "Title",
            "type": "String"
        }
    ],
    "rootNode": "ArcherResponse",
    "collectionReference": "ArcherResponse/Records/Record"
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 19:03:19