R RODBC SQL Server连接

时间:2017-10-20 17:20:53

标签: sql-server r rodbc

我使用Windows身份验证连接到sql server。我正在尝试连接到R中的sql server表。但是R没有连接到数据库。我也尝试在我的Windows登录中输入uid和pwd。仍然没有运气。

library(RODBC)  
driver.name <- "SQL Server"
db.name <- "dw-xxx"
host.name <- "xx-xxx"
port <-"xxxx"
server.name <-"dw-xx"
con.text <- paste("DRIVER=",driver.name,
              ";Database=",db.name,
              ";Server=",server.name,
              ";Port=",port,
              ";PROTOCOL=TCPIP",
              ";trusted_connection=true",
              sep="")
con1 <- odbcDriverConnect(con.text)

警告讯息:
1:在odbcDriverConnect(con.text)中:   [RODBC]错误:状态42000,代码4060,消息[Microsoft] [ODBC SQL Server驱动程序] [SQL Server]无法打开登录请求的数据库“dw-xxx”。登录失败。
2:在odbcDriverConnect(con.text)中:   [RODBC] ERROR:状态01S00,代码0,消息[Microsoft] [ODBC SQL Server驱动程序]无效的连接字符串属性
3:在odbcDriverConnect(con.text)中:ODBC连接失败

> odbcGetInfo(con1)

odbcGetInfo(con1)出错:参数不是一个开放的RODBC频道

RStudio:版本1.0.153
Microsoft SQL Server Management Studio 14.0.17177.0

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题。显然,不接受PORT格式。当我将端口移动到服务器部分时,它正在正常工作(给SERVER = server,port):

con.text <- paste("DRIVER={",driver.name,"}",
          ";Database=",db.name,
          ";Server=",server.name,
          ",",port
          ";PROTOCOL=TCPIP",
          ";trusted_connection=true",
          sep="")