首页 > 解决方案 > 使用 ODBC 包连接到 R 中的 SQL Server 到非默认端口

问题描述

我正在尝试通过带有驱动程序“ODBC Driver 13 for SQL Server”的 Rstudio 标准 ODBC 包连接到在非默认端口上运行的远程 SQL Server,但我总是超时。凭据是正确的,因为我可以通过不同的客户端进行连接。

以下指南https://support.rstudio.com/hc/en-us/articles/214510788-Setting-up-R-to-connect-to-SQL-Server-

library(odbc)
con <- dbConnect(odbc(),
                 Driver = "ODBC Driver 13 for SQL Server",
                 Server = "mysqlhost",
                 Database = "mydbname",
                 UID = "myuser",
                 PWD = rstudioapi::askForPassword("Database password")
                 Port = 21433)

不幸的是,没有任何包文档涉及连接到非默认端口,并且仅更改 Port 参数不起作用。

标签: rsql-serverodbcport

解决方案


连接到非默认端口时,您需要在Port参数中添加正确的端口号,但也需要在Server中以逗号分隔

library(odbc)
con <- dbConnect(odbc(),
                 Driver = "ODBC Driver 13 for SQL Server",
                 Server = "mysqlhost,21433"
                 Database = "mydbname",
                 UID = "myuser",
                 PWD = rstudioapi::askForPassword("Database password")
                 Port = 21433)

这允许您连接到服务器。


推荐阅读