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

使用Azure Data Factory将Snowflake别名列插入Azure SQL遇故障求助

解决Azure Data Factory插入Azure SQL时的列映射报错问题

问题核心

Snowflake返回的列名大小写与Azure SQL目标列不匹配,导致ADF无法识别对应列,进而出现Column NAME cannot found in the Physical data base错误。

具体解决步骤

1. 修正Snowflake查询的列名大小写

Snowflake默认会将未用双引号包裹的别名转为全大写,你的查询as Name实际返回的列名是NAME,和Azure SQL的Name不匹配。修改查询,用双引号强制保留别名的大小写:

select a.first_name as "Name", b.emp_id as "Id" from table1 a join table2 b on a.id=b.empId

2. 刷新ADF源数据集架构

在ADF的Snowflake源数据集中,点击刷新架构,确保能读取到Name和Id两个列。这一步能让ADF获取到最新的源列信息,避免因架构缓存导致的列无法识别问题。

3. 配置完整的列映射

进入复制活动的映射标签页,手动添加Id列的映射:

  • 源列选择Snowflake返回的Id
  • 目标列选择Azure SQL的Id
    确认Name列的映射也正确对应,保存配置后重新运行管道。

4. 验证Azure SQL表结构与排序规则

  • 检查目标表列名是否正确,无拼写错误:
SELECT COLUMN_NAME, DATA_TYPE FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = '你的目标表名';
  • 若数据库启用了大小写敏感排序规则(如SQL_Latin1_General_CP1_CS_AS),需确保源列和目标列大小写完全一致。可以通过以下SQL查看数据库排序规则:
SELECT collation_name FROM sys.databases WHERE name = '你的数据库名';

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 12:47:35