我使用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
答案 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="")