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

Mac M1系统下R连接Amazon Redshift驱动文件未找到求助

解决Mac OS M1上R连接Amazon Redshift时驱动找不到的问题

1. 确认驱动架构与安装路径

M1为arm64架构,需保证Redshift ODBC驱动与系统架构匹配:

  • 用Homebrew安装arm版驱动时,路径通常为/opt/homebrew/lib/libredshiftodbc.dylib
  • 若安装x86版驱动(依赖Rosetta兼容),路径一般是/usr/local/lib/libredshiftodbc.dylib
  • 手动下载驱动时,务必选择对应arm64的安装包,避免跨架构混用导致文件找不到。

2. 检查并配置ODBC驱动注册文件

ODBC驱动需通过odbcinst.ini注册才能被识别,操作步骤:

  • 终端执行命令查看已注册驱动:
    odbcinst -q -d
    
  • 若未发现Amazon Redshift条目,编辑用户级配置文件~/.odbcinst.ini(或系统级/etc/odbcinst.ini),添加以下内容(替换为你的实际驱动路径):
    [Amazon Redshift]
    Driver=/opt/homebrew/lib/libredshiftodbc.dylib
    Setup=/opt/homebrew/lib/libredshiftodbcsupport.dylib
    UsageCount=1
    
  • 保存后再次执行odbcinst -q -d,确认驱动已成功注册。

3. 调整R连接代码

若驱动别名仍无法被识别,直接使用驱动绝对路径替代driver参数:

conn <- connect_redshift(
  host = "my_host",
  database = "database_name",
  user = "user_name",
  pass = "password",
  port = 12345,
  driver = "/opt/homebrew/lib/libredshiftodbc.dylib"
)

4. 处理Rosetta兼容(仅适用于x86驱动)

如果安装的是x86版驱动,需确保R和终端通过Rosetta运行:

  • 右键R.app → 显示简介 → 勾选「使用Rosetta打开」
  • 右键终端.app → 显示简介 → 勾选「使用Rosetta打开」,之后在该终端中启动R运行连接代码。

5. 验证驱动可用性

安装unixODBC后,用isql命令测试ODBC连接是否正常:

isql -v "Amazon Redshift" user_name password

若连接成功,说明驱动配置无误,回到R中重新运行连接代码即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 22:32:48