我试图连接到RStudio中的SQL Server 2016数据库。我在笔记本电脑上使用RStudio。我可以远程访问服务器并在那里安装RStudio,如果它是绝对必要的,但在本地工作有很大的优势,所以我真的更喜欢它,如果可能的话。与服务器的连接通过我在笔记本电脑上运行的VPN(FortiClient)。
在此服务器上,有两个SQL Server实例。一个是SQL Server 2012版本,它是默认实例,因此未命名 - 它曾经是此服务器上的唯一实例。另一个是2016年版。此实例最近已设置为使用SQL Server 2016新增的R集成功能。由于服务器已有默认实例,因此必须对此实例进行命名,因此称为DEVR
。
当我访问SSMS中的实例并单击“属性”时,默认实例的名称为DWH-ACC
,2016实例名为DWH-ACC\DEVR
。
这是我在RStudio中运行的代码,用于测试我的连接:
server <- "[IP-ADDRESS]\\DWH-ACC\\DEVR"
databaseName <- "Database"
user <- "user"
pwd <- "password"
sqlShareDir <- "C:\\Dir"
sqlWait <- TRUE
sqlConsoleOutput <- FALSE
sampleDataQuery <- "SELECT TOP 10 FROM [dbo].[Table]"
cc <- RxInSqlServer(server = server, databaseName = databaseName, user = user, password = pwd, shareDir = sqlShareDir, wait = sqlWait, consoleOutput = sqlConsoleOutput)
rxSetComputeContext(cc)
inDataSource <- RxSqlServerData(sqlQuery = sampleDataQuery, server=server, databaseName=databaseName, user=user, password=pwd, stringsAsFactors=TRUE, rowsPerRead=500)
rxGetVarInfo(data = inDataSource)
我已经为服务器规范尝试了几个选项,其中[IP-ADDRESS]\\DEVR
和[IP-ADDRESS]/DEVR
两者都不起作用。这是我运行代码时遇到的错误:
[Microsoft][ODBC SQL Server Driver][DBNETLIB]The SQL-Server does not exist or permission has been denied.
Could not open data source.
ODBC Error in SQLDisconnect
(顺便说一下,荷兰语翻译的消息 - 这可能不是英文版软件中的确切错误文本)
当我尝试简单地将IP地址作为我的服务器连接字符串时,我得到一个不同的错误,似乎表明它能够找到实例(2012年,即错误的实例),但无法处理查询。
[Microsoft][ODBC-stuurprogrammabeheer] Fout in functievolgorde
我不确定如何翻译这个,但它似乎与ODBC驱动程序有关,并且在功能顺序&#34;中表示错误。无论如何,这个错误是无关的,我不需要它解决或解释,它只是表明R似乎能够连接到默认实例,但不能连接到较新的,命名的实例。
答案 0 :(得分:1)
为启动板帐户启用隐含身份验证
专门从控制面板导航到用户帐户,您将看到具有20个帐户的SQLR用户组。
在具有写访问权限的服务器和数据库表上允许这些。
那应该看对你了。祝你好运
答案 1 :(得分:0)