如何减少R中SQL查询的错误?
这是我的功能如何减少R中SQL查询的错误?,r,sql-server,R,Sql Server,这是我的功能 getSQL <- function(server="server name", database="database name", Uid=" user name", Pwd="password", Query){ conlink <- paste('driver={SQL Server};server=', server,';datab
getSQL <- function(server="server name", database="database name", Uid="
user name", Pwd="password", Query){
conlink <- paste('driver={SQL Server};server=', server,';database=',database,';Uid=', Uid,
';Pwd=', Pwd,';Encrypt=True;TrustServerCertificate=False', sep="")
conn <- odbcDriverConnect(conlink)
dat <- sqlQuery(channel= conn, Query, stringsAsFactors = F)
odbcCloseAll()
return(dat)
}
我得到这个错误:
sqlQuery中的错误(conn,Query,stringsAsFactors=F):第一个参数不是开放的RODBC通道 此外:警告消息:
1:在odbcDriverConnect(conlink)中:
[RODBC]错误:状态28000,代码18456,消息[Microsoft][ODBC SQL Server驱动程序][SQL Server]用户“insightm8”登录失败。
2:在odbcDriverConnect(conlink)中:
[RODBC]错误:状态01S00,代码0,消息[Microsoft][ODBC SQL Server驱动程序]连接字符串属性无效
3:在odbcDriverConnect(conlink)中:
sqlQuery中的错误(conn,Query,stringsAsFactors=F):
第一个参数不是开放的RODBC通道
如何修复这些错误?提前感谢注意不要在
UID
中添加空格:
用户“insightm8”的服务器]登录失败
在SQL Server
连接上重复此操作会产生相同的错误
尝试使用paste0
而不是paste
:
conlink <- paste0('driver={SQL Server};server=', server,';database=',database,';Uid=', Uid,
';Pwd=', Pwd,';Encrypt=True;TrustServerCertificate=False', sep="")
conlink我会先删除'insightm8'中的空格
Great@Waldi,它可以工作。但我只是在想我有多愚蠢!
conlink <- paste0('driver={SQL Server};server=', server,';database=',database,';Uid=', Uid,
';Pwd=', Pwd,';Encrypt=True;TrustServerCertificate=False', sep="")