ADF运行Snowflake插入语句报错:ODBC连接器不支持所用查询
解决ADF运行Snowflake带WITH子句INSERT报错的问题
可能的原因及解决办法:
ODBC驱动版本兼容问题
连接信息变更后,大概率是ADF集成运行时使用的Snowflake ODBC驱动版本发生了变更(比如降级)。部分旧版本驱动对INSERT后紧跟WITH子句的语法支持存在缺陷。直接升级到Snowflake官方最新稳定版ODBC驱动,或者确认集成运行时里的驱动版本是否符合Snowflake当前推荐版本。调整查询语法顺序
把WITH子句移到INSERT语句前面,这种标准SQL兼容格式能避开旧ODBC驱动的解析bug。修改后的示例:WITH abc AS (select stmt), def AS (select stmt), ghi AS (select stmt) INSERT INTO table a (col1, col2) SELECT x,y,z FROM abc LEFT JOIN def ON stmt LEFT JOIN ghi ON stmt修改ODBC连接参数
在ADF的Snowflake链接服务配置里,添加ODBC额外参数DISABLE_QUERY_VALIDATION=true,跳过驱动层面的查询语法校验,强制将查询提交到Snowflake执行。排查连接属性变更
确认连接信息变更后,是否切换了Snowflake角色、仓库或数据库,部分角色可能存在语法限制,或者仓库的SQL兼容性设置被修改。
内容的提问来源于stack exchange,提问作者Sangs
相关产品推荐
相关产品推荐

