Azure Data Factory从Synapse复制数据到Snowflake时数字开头Schema配置问题
解决ADF复制到Snowflake时数字开头Schema的配置问题
核心方案:启用Snowflake连接器的自动引号标识
在ADF复制活动的Sink配置中,针对Snowflake连接器,找到高级设置里的Quote identifier选项,设置为True。该选项会让ADF自动为所有标识符(Schema、表名、字段名)添加双引号,适配Snowflake中以数字开头或包含特殊字符的标识符规则,无需手动在Schema名里加引号。
控制表场景下的表达式拼接方案(自动引号失效时备用)
如果你的控制表存储了Schema和表名,在复制活动的Sink的表名字段使用表达式拼接带双引号的完整标识:
- 若用ForEach活动遍历控制表,表名表达式写为:
其中concat('"', item().schema_name, '"."', item().table_name, '"')item().schema_name是控制表中存储的数字开头Schema名(比如9289RESIST,无需自带引号),item().table_name是目标表名。
注意事项
- 确保控制表中的Schema名称与Snowflake实际存在的Schema大小写完全一致:Snowflake中带双引号的标识符区分大小写,若Schema是通过
CREATE SCHEMA "9289RESIST"创建的,必须严格匹配大小写;若为默认创建(自动转为大写),控制表中的Schema名也需为大写。 - 不要手动在控制表的Schema名前后加双引号,否则拼接后会出现重复引号(如
""9289RESIST""),导致报错。
内容的提问来源于stack exchange,提问作者user15488631
相关产品推荐
相关产品推荐

