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

Azure Data Factory数据流输出至Azure SQL全为NULL的配置问题求助

排查Azure Data Factory数据流数据写入NULL问题

针对你遇到的管道执行成功但SQL表无数据、预览全NULL的问题,我结合ADF数据流的常见配置坑,给你一步步拆解排查和修复方案:

一、先解决源数据预览NULL的核心问题

你提到源预览左侧NULL、右侧有有效数据,这大概率是源数据集的CSV读取配置错误,最常见的就是没开启「第一行作为标题」:

  • 打开你的Blob CSV源数据集,切换到「连接」标签:
    • 务必勾选**「第一行作为标题」**——如果没勾,ADF会把CSV的第一行列名(PARENT、CHILD)当成普通数据行,而实际数据会被识别为漂移列,导致你定义的PARENT/CHILD列全是NULL,有效数据跑到未命名的漂移列里。
    • 同时确认分隔符和你的CSV实际一致(比如是逗号还是分号),编码选择和文件匹配(比如UTF-8)。
  • 配置完后重新预览源数据,确认PARENT、CHILD列能正常显示有效内容,而不是NULL。

二、修正接收器列映射的错误操作

你之前尝试添加漂移映射(MapDrifted)的方向错了:漂移映射是用来处理源中出现未在数据集定义的额外列,而你的列是预定义好的,只是大小写不同(CSV是大写PARENT/CHILD,SQL是小写parent/child),不需要用漂移映射:

  1. 回到数据流的接收器模块,删除之前添加的所有漂移映射(MapDrifted1这类)。
  2. 在标准列映射里,手动将源的PARENT(大写)拖拽映射到SQL表的parent(小写),CHILD映射到child——ADF支持大小写不同的列名匹配,只要手动对应即可。
  3. 确认映射后,预览接收器的输入数据,能看到正常的非NULL值。

三、最后检查接收器的关键配置

  1. 确认接收器的「设置」标签里,除了启用「插入」,没有勾选**「跳过写入空行」**(如果勾选,会过滤掉被识别为空的行,但你管道显示处理了5732行,这个概率不大,但可以排查)。
  2. 检查SQL链接服务的身份权限:确保链接服务使用的账号(比如SQL认证账号)拥有目标表的INSERT权限——虽然管道执行成功,但如果权限不足,可能出现静默写入失败的情况(不过ADF一般会报错,但还是建议确认)。

修复后的验证步骤

  1. 保存数据流和管道,先做数据流的全链路预览,确认从源到接收器的每一步都有非NULL的有效数据。
  2. 重新执行管道,完成后直接查看Azure SQL的目标表,应该就能看到正常写入的5732条数据了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.09 09:12:41