首页 > 解决方案 > 如何将 R Server(Microsoft 机器学习服务器)连接到 SQL Server?可以本地连接但不能远程连接

问题描述

我正在尝试将一个非常大的数据集加载到存储在 SQL 中的 R 中。我可以使用本地 R(Microsoft R Client 3.3.3.0)通过以下方式连接到 SQL:

library(RODBC)
db <- odbcDriverConnect('driver={SQL Server};server=servername\\servername;database=dbname;trusted_connection=true')
tb <- paste("select top 100 * from dbname", sep = "")
df <- sqlQuery(db, tb)

所有这一切都很好。但是,当我尝试在远程会话(MMLS R 版本 3.4.3)中执行此操作时,它不起作用:

library(mrsdeploy)
remoteLogin("http://some.url", session = TRUE)
REMOTE> #insert script from above

它返回以下错误消息:

sqlQuery(db, tb) 中的错误:第一个参数不是开放的 RODBC 通道

问题在于odbcDriverConnect(),在本地运行时,正如预期的那样,在本地返回一个描述 RODBC 连接详细信息的“RODBC”类对象,但在远程运行时返回一个“整数”类(-1)的标量。

我做错了什么还是远程连接到 R 服务器时无法远程连接到 SQL 数据库?

标签: rsql-serverrodbcr-servermicrosoft-machine-learning-server

解决方案


推荐阅读