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

Mac系统下RStudio连接Docker部署的SQL Server出现驱动报错如何解决?

问题根因

报错的核心原因是Driver = "SQL Server"是Windows平台默认的SQL Server ODBC驱动名称,Mac系统未预装该驱动,unixODBC驱动管理器无法找到对应驱动文件。

解决步骤
  • 第一步:安装Mac平台SQL Server ODBC驱动
    通过Homebrew安装微软官方驱动,执行以下终端命令:
# 添加微软软件源
brew tap microsoft/mssql-release https://github.com/Microsoft/homebrew-mssql-release
# 更新源索引
brew update
# 自动接受许可协议并安装18版驱动和工具
HOMEBREW_ACCEPT_EULA=Y brew install msodbcsql18 mssql-tools18

如果未安装Homebrew,先执行Homebrew官方安装命令后再执行上述操作。

  • 第二步:确认驱动的正确标识
    终端执行odbcinst -q -d查看已注册的ODBC驱动列表,输出中会包含ODBC Driver 18 for SQL Server,该字符串为后续连接需要填写的正确驱动名称。
  • 第三步:修正R连接代码
    需要修改3处原有代码的配置:
  1. 替换Driver参数为第二步查询到的正确驱动名称
  2. 删除Trusted_Connection = "True"配置,该参数为Windows域认证专用,Mac使用SQL Server账号认证无需配置
  3. 新增SSL相关兼容参数,规避本地Docker实例无合法SSL证书的报错

修正后的代码示例:

# 未安装odbc包先执行 install.packages("odbc")
con <- DBI::dbConnect(odbc::odbc(), 
                      Driver = "ODBC Driver 18 for SQL Server", 
                      Server = "localhost", 
                      Database = "AdventureWorks2019",
                      UID = "sa",
                      PWD = "<YourStrong@Passw0rd>",
                      Port = 1433,
                      TrustServerCertificate = "Yes",
                      Encrypt = "Optional")
  • 第四步:异常兼容方案
    如果执行上述步骤后仍然报驱动找不到的错误,可以直接填写驱动文件的绝对路径替换Driver参数:
    • Intel芯片Mac路径:/usr/local/lib/libmsodbcsql.18.dylib
    • Apple M系列芯片Mac路径:/opt/homebrew/lib/libmsodbcsql.18.dylib
连接验证

连接建立成功后,执行DBI::dbListTables(con)即可输出AdventureWorks2019数据库的所有表名,说明连接正常。

内容的提问来源于stack exchange,提问作者Homer Jay Simpson

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 20:54:04