Mac M1设备上Tableau无法识别Snowflake ODBC驱动的问题咨询
解决M1 Mac上Tableau Desktop无法识别Snowflake ODBC驱动的问题
现状确认
当前Snowflake官方提供的Mac ODBC驱动(截至2024年)仍无原生arm64版本,仅支持x86_64/i386架构。M1/M2系列Mac使用原生arm版本的Tableau时,会因架构不匹配出现驱动加载失败问题,也就是你遇到的missing compatible architecture (have 'i386,x86_64', need 'arm64')错误。
可行解决办法
以Rosetta 2模式运行Tableau Desktop
- 找到「Tableau Desktop」应用,右键选择「显示简介」
- 勾选「使用Rosetta打开」选项,重启Tableau
- 此模式下Tableau会以x86_64架构运行,兼容现有的Snowflake x86 ODBC驱动
验证ODBC驱动配置(Rosetta环境下)
- 打开终端的Rosetta模式:找到「终端」应用,右键「显示简介」,勾选「使用Rosetta打开」
- 在该终端中运行命令:
/Library/Application Support/iODBC/bin/iodbctest,此时应能正常加载驱动并连接Snowflake - 检查配置文件路径:确保
odbc.ini和odbcinst.ini位于/Users/你的用户名/.odbc.ini或/Library/ODBC/目录下,驱动路径正确指向/opt/snowflake/snowflakeodbc/lib/universal/libSnowflake.dylib
升级Tableau到兼容版本
建议使用Tableau 2021.4及以后的版本,这类版本对Rosetta模式下的ODBC驱动支持更完善,能减少兼容性问题替代方案:使用Snowflake JDBC驱动
Tableau支持通过JDBC连接Snowflake,JDBC驱动为纯Java实现,不存在架构兼容问题:- 在Tableau连接界面选择「Snowflake」
- 切换到JDBC连接模式,输入格式为
jdbc:snowflake://<你的账号>.snowflakecomputing.com/?warehouse=<仓库名>&db=<数据库名>&schema=<模式名>的连接字符串 - 输入账号密码即可完成连接
内容的提问来源于stack exchange,提问作者cs0815
相关产品推荐
相关产品推荐

