Power BI连接Snowflake访问含下划线命名的架构时报错问题咨询
问题原因说明
核心触发原因
- Power BI 2021年8月版本自带的官方Snowflake连接器存在已知逻辑缺陷:该版本连接器在调用内嵌ODBC驱动拉取表元数据时,错误将标识符中的下划线
_识别为SQL LIKE语法的通配符,自动添加反斜杠转义,生成了DATA\_API这类错误的转义后标识符。 - Snowflake的带引号标识符遵循严格匹配规则,转义后的
DATA\_API与实际存在的DATA_API会被判定为两个完全不同的对象,因此抛出架构不存在、表无可见列的报错。
更新系统ODBC驱动无效的原因
2021年版本的Power BI Snowflake连接器内置了独立的ODBC驱动,不会调用操作系统中单独安装的Snowflake ODBC驱动,因此升级系统驱动无法解决该问题。
可行解决方案
- 优先升级Power BI Desktop到2021年10月及之后的正式版本,微软已在后续版本的Snowflake连接器中修复了该转义逻辑bug
- 若暂时无法升级Power BI版本,可使用自定义查询功能绕开导航器的元数据自动拉取逻辑:在连接Snowflake时选择「高级选项」->「自定义SQL语句」,直接输入完整查询语句即可,示例:
SELECT * FROM "LAB_PRJ_S4_GTS"."DATA_API"."CUSTOMS_CLASSIFICATION_API"
- 临时替代方案:连接时手动指定默认数据库为
LAB_PRJ_S4_GTS、默认架构为DATA_API,无需手动选择路径,可降低触发转义bug的概率。
内容的提问来源于stack exchange,提问作者FlyingSaucer
相关产品推荐
相关产品推荐

