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

如何让MacOS Apple Silicon的R Studio连接Parallels虚拟机内的MS SQL Server

解决MacOS原生R Studio连接Parallels虚拟机SQL Server的问题

环境配置

  • MacBook Pro 14" M1 Pro
  • MacOS Apple Silicon原生R Studio
  • Parallels 18运行ARM版Windows 11虚拟机,内置SQL Server 2014
  • 使用Microsoft SQL Server Management Studio 2018维护数据库

问题

尝试用MacOS主机上的R Studio(Tidyverse + ODBC)连接虚拟机内的SQL Server,代码如下:

con <- DBI::dbConnect(
  odbc::odbc(),
  Driver = "SQL Server",
  Server = "WINDOWSPARALLELS\\LOCALSERVERPLS", 
  Database = "CustomerSalesDW"
)

运行后报错:

Error: nanodbc/nanodbc.cpp:1118: 00000: [unixODBC][Driver Manager]Can't open lib 'SQL Server' : file not found

虚拟机内R Studio可正常运行该代码,但速度过慢,需实现主机直连。

解决方案

1. 安装MacOS适配的SQL Server ODBC驱动

MacOS(Apple Silicon架构)不支持Windows的"SQL Server"驱动,需安装微软官方提供的适配驱动:
打开终端,通过Homebrew安装:

brew install msodbcsql17 mssql-tools

若未安装Homebrew,可通过官方脚本完成安装。

2. 确认驱动名称

安装后,在终端执行以下命令查看已安装的ODBC驱动:

odbcinst -q -d

输出中会显示类似[ODBC Driver 17 for SQL Server]的条目,这就是R代码中要使用的Driver值。

3. 开启虚拟机SQL Server的远程连接权限

在Windows 11虚拟机中操作:

  • 打开SQL Server配置管理器,依次进入SQL Server网络配置 -> MSSQLSERVER的协议,启用TCP/IP协议。
  • 双击TCP/IP协议,切换到IP地址选项卡,拉至底部的IPAll,设置TCP端口为1433(SQL Server默认端口)。
  • 重启**SQL Server (MSSQLSERVER)**服务。
  • 配置Windows防火墙,允许1433端口的入站连接,或临时关闭防火墙用于测试。

4. 获取虚拟机IP地址

在Windows 11虚拟机的命令提示符中执行:

ipconfig

找到Parallels网络适配器对应的IPv4地址(例如10.211.55.4)。

5. 修改R连接代码

替换Driver为Mac上的驱动名称,Server改为虚拟机IP+端口,同时指定SQL Server身份验证的账号密码(需确保虚拟机中SQL Server已启用混合身份验证):

con <- DBI::dbConnect(
  odbc::odbc(),
  Driver = "ODBC Driver 17 for SQL Server",
  Server = "10.211.55.4,1433",  # 替换为你的虚拟机IP和端口
  Database = "CustomerSalesDW",
  UID = "你的SQL Server用户名",
  PWD = "你的SQL Server密码"
)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 02:00:38