我使用 azure 的时间并不长,正在学习 ADF 的工作原理。我正在尝试在管道中运行复制活动节点,该节点允许我将数据从存储在数据湖 gen2 容器中的 excel csv 文件(源)写入到我也在其中创建的 SQL 数据库(目标)天蓝色并链接到 SSMS。源文件中只有 21 列,而我在目标数据库中创建了 21 列。我还想提一下,源文件中有一个重复的列。我创建了一个链接服务,它连接到位于 gen2 中的源文件,另一个链接服务连接到数据库,并在复制活动节点中正确设置了源、接收器和映射。当尝试调试管道时,我不断收到此错误消息:
"ErrorCode=DelimitedTextColumnNameNotAllowNull,'Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=列索引 22 的名称为空。请确保在标题行中正确指定列名称。,Source=Microsoft.DataTransfer.Common ,'"
我将其放入 ChatGPT 中,以大致了解该消息告诉我的内容,它表示作为源文件的分隔文本文件中的第 22 个索引列名称存在问题。我不知道重复的列是问题还是其他问题,但我已经在这个问题上坚持了 4 天,这让我发疯。任何帮助表示赞赏
我尝试删除重复的列,希望可能是重复的列将其删除,但这不起作用。我一遍又一遍地重新绘制映射,认为可能缺少一列,但没有任何结果。
这似乎是 CSV 文件格式的问题。
如果分隔符(逗号)是任何列数据的一部分,则可能会使 ADF 解析器认为列数多于标题数。
正如 Chen Hirsh 评论的那样,仔细检查 CSV 文件以确保 CSV 文件没有问题。