【发布时间】:2019-04-03 11:13:20
【问题描述】:
我一直在尝试使用 R 启动与 MSSQL 服务器的只读连接,但遇到了问题。
我可以使用 DBI 和 odbc 包不只读连接:
library(DBI)
library(odbc)
con <- DBI::dbConnect(
odbc::odbc(),
Driver = "DRIVER",
Server = "SERVER",
Database = "DATABASE",
UID = "USERNAME",
PWD = "PASSWORD",
Port = PORT
)
(或使用连接字符串)
con <- DBI::dbConnect(odbc::odbc(),
.connection_string = "Driver={DRIVER};Uid=USERNAME;Pwd=PASSWORD;Server=SERVER;Port=PORT;Database=DATABASE;")
我假设如果我将ApplicationIntent="ReadOnly" 或ApplicationIntent=ReadOnly; 添加到各自的代码中,这会起作用,但会导致超时。
我不确定这是否可以使用 ODBC/DBI,任何帮助将不胜感激!
【问题讨论】:
-
不是在数据库端设置的吗?
-
使用
RODBC包怎么样?我能够使用RODBC和命令con <- odbcDriverConnect('Driver=SQL Server;Server=SERVERNAME,1433;Database=DATABSENAME;Trusted_Connection=yes;ApplicationIntent=ReadOnly')连接到SQL Server 数据库 -
@KerryJackson 这是用于 MSSQL 的吗?我刚刚尝试过并收到网络错误:/。但是,当我删除“ApplicationIntent=ReadOnly”部分时,它可以工作!
-
是的,它适用于 MS SQL Server,它对我来说没有错误。也许您得到的错误不是因为包
RODBC或DBI,而是因为您的服务器不允许这样做? stackoverflow.com/questions/15347541/… 可能有一些有用的链接
标签: sql r sql-server odbc dbi