与 R/RStudio 建立 Microsoft SQL Server 连接

Posted

技术标签:

【中文标题】与 R/RStudio 建立 Microsoft SQL Server 连接【英文标题】:Establish Microsoft SQL Server Connection with R/RStudio 【发布时间】:2019-01-15 10:14:45 【问题描述】:

我正在尝试将 R 与 Microsoft SQL 服务器连接。到目前为止,我已经使用 Toad for SQL Server 6.8 进行查询。但是,对于其他一些分析(可以在 R 中轻松执行),我想将数据库与 R 连接。

我已经尝试了提供服务器名称和数据库名称的 R 函数“dbconnect”。请参阅下面的查询:

   odbc_con <- dbConnect(odbc::odbc(),
                  Driver = "SQL Server",
                  Server = "xxxxx",
                  Database = "yyyyy", 
                  Uid = 'US\dhrdesai',
                  Pwd = rstudioapi::askForPassword("Database password"),
                  Port = 1433) 

但是,我收到以下错误:

错误:nanodbc/nanodbc.cpp:950:IM002:[Microsoft][ODBC 驱动程序 Manager] 未找到数据源名称且未指定默认驱动程序

错误:“端口 = 1433)”中出现意外的 ')'

有没有人遇到过同样的情况或知道将 R 与 SQL 服务器连接的任何其他方式。

【问题讨论】:

Connect R to a SQL Server database engine 可能重复? 您的最后一个错误向我表明在此调用之前您的代码有问题。可以分享整个脚本吗?您是否确保在向控制台发送命令时不会发生任何奇怪的事情?您是否尝试过重新启动 R 会话? 【参考方案1】:

每次看到\ 时,都需要使用双反斜杠\\。我昨天刚刚使用以下代码进行了连接。也可能你还没有安装所有需要的包。

library(DBI)
library(dbplyr)
library(odbc)

con <- dbConnect(odbc::odbc(), 
                 Driver = "SQL Server", 
                 Server = "path\\path", # remember \\ if your path has a \ 
                 Database = "the_database_name",
                 user = "your_user_name", # remember \\ if your username has a \
                 Trusted_Connection = "True")  

【讨论】:

以上是关于与 R/RStudio 建立 Microsoft SQL Server 连接的主要内容,如果未能解决你的问题,请参考以下文章

R︱Rstudio 1.0版本尝鲜(R notebook下载链接sparkR代码时间测试profile)

R语言初级教程(02): RStudio的使用

RStudio 未检测到已安装的 R

启动 R/RStudio 时不需要加载 R 中的包?

Ubuntu中使用Anaconda安装R,Rstudio

r 将MS Access数据库连接到Windows中的R(RStudio)