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

M1芯片MacBook上R Studio连接Snowflake ODBC失败求助

M1芯片MacBook上R Studio连接Snowflake ODBC失败问题

问题描述

在搭载M1芯片的MacBook上已安装Snowflake驱动及ODBC组件,但无法通过R Studio连接Snowflake ODBC。

使用的连接配置代码:

con <- DBI::dbConnect(odbc::odbc(),
                      Driver = '/opt/snowflake/snowflakeodbc/lib/universal/libSnowflake.dylib',
                      Server = <工作提供的URL>,
                      UID = <用户名>,
                      Trusted_Connection = "True",
                      authenticator = "externalbrowser",
                      Database = <数据库名>)

运行代码后出现错误:

Error: nanodbc/nanodbc.cpp:1021: 00000: [Snowflake][ODBC] (1159) Unable to locate SQLGetPrivateProfileString function.

解决方法

  • 确认架构匹配:M1为ARM架构,需确保R Studio是原生ARM版本(而非Rosetta模拟的x86版本)。可在R Studio中运行sessionInfo(),查看running under字段确认是否为aarch64-apple-darwin;同时Snowflake驱动需选择通用架构版(universal)。
  • 配置ODBC数据源文件:手动创建~/.odbc.ini文件,写入以下配置(替换占位符):
[Snowflake]
Driver = /opt/snowflake/snowflakeodbc/lib/universal/libSnowflake.dylib
Server = <工作提供的URL>
UID = <用户名>
Authenticator = externalbrowser
Database = <数据库名>

修改R连接代码,直接通过数据源名称连接:

con <- DBI::dbConnect(odbc::odbc(), "Snowflake")
  • 设置ODBC环境变量:打开终端执行以下命令,之后重启R Studio:
export ODBCINI=~/.odbc.ini
export ODBCSYSINI=/etc
  • 更新ODBC管理器与驱动:Mac推荐使用iODBC作为ODBC管理器,确保其适配ARM架构;同时重新下载安装最新版Snowflake ODBC驱动,安装时勾选“Install for me only”避免权限问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 21:01:07