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

学习使用R连接SQL Server数据库时报连接错误如何解决?

报错原因排查及解决方法

一、代码拼写错误修复

  • Driver参数拼写错误:当前填写的ODBC Driver 17 for SQL Serve缺失末尾的字母r,正确写法为ODBC Driver 17 for SQL Server
  • 若使用SQL Server命名实例,Server参数需要补全实例名,格式为主机名\实例名,例如DESKTOP-SHXXX\SQLEXPRESS

二、SQL Server服务与网络配置排查

  • 检查SQL Server服务运行状态:按下Win+R输入services.msc打开服务列表,找到对应SQL Server实例服务,确认状态为「正在运行」
  • 开启通信协议:打开SQL Server配置管理器,进入「SQL Server网络配置」下对应实例的协议设置页,将Named Pipes和TCP/IP均设置为启用,修改后重启SQL Server服务生效
  • 开启远程连接权限:打开SQL Server Management Studio,右键实例→属性→连接,勾选「允许远程连接到此服务器」
  • 防火墙配置:检查Windows防火墙是否放行SQL Server默认端口1433,若修改过自定义端口则放行对应端口,也可直接将sqlservr.exe程序加入防火墙放行列表

三、身份验证逻辑修正

你同时填写了UID、PWD和Trusted_Connection="yes"两套互斥的验证逻辑,二者只能选其一:

  • 若使用Windows身份验证,删除UID和PWD两个参数,保留Trusted_Connection="yes"
  • 若使用SQL Server身份验证,删除Trusted_Connection="yes"参数,保留账号密码配置

修正后代码示例

library(odbc)
# SQL Server身份验证写法
con <- dbConnect(odbc(),
                 Driver = "ODBC Driver 17 for SQL Server",
                 Server ="DESKTOP-SHXXX", # 有命名实例请替换为 DESKTOP-SHXXX\你的实例名
                 Database ="BikeStores",
                 UID="robin",
                 PWD = rstudioapi::askForPassword("请输入数据库密码"))

# Windows身份验证写法
# con <- dbConnect(odbc(),
#                  Driver = "ODBC Driver 17 for SQL Server",
#                  Server ="DESKTOP-SHXXX",
#                  Database ="BikeStores",
#                  Trusted_Connection ="yes")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 16:39:01