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

Snowpark SQL编译错误:含短横线的角色名导致连接异常

Snowpark连接时角色名含短横线导致SQL编译错误的解决方案

角色名称里的短横线会被Snowflake的SQL解析器当成算术运算符,直接写进USE ROLE语句里就会触发编译错误。解决办法很简单:给带特殊字符的标识符套上双引号。

修改后的代码如下:

dbname = "MY_DB"
schemaname = "MY_SCHEMA"
warehouse = "MY_WH"
role_name = "MY-SNOWFLAKE-ROLE"

# 用双引号包裹含短横线的角色名
read_session.sql(f'USE ROLE "{role_name}"').collect()
read_session.sql(f"USE WAREHOUSE {warehouse}").collect()
read_session.sql(f"USE DATABASE {dbname}").collect()
read_session.sql(f"USE SCHEMA {dbname}.{schemaname}").collect()

注意:如果你的仓库、数据库或模式名也包含短横线、空格这类特殊字符,同样需要用双引号包裹。另外用f-string时注意引号嵌套,这里用单引号包整个SQL语句,双引号包标识符,不用额外转义,更简洁。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 09:36:24