通过RMS上的SQL Server 2017 ODBC或SSMS上的R仅连接到主数据库

时间:2018-05-25 03:04:15

标签: r sql-server odbc sql-server-2017 microsoft-r

我一直在通过R(在Rstudio上以及在SSMS上的R)上学习SQL Server 2017,我无法连接到特定的数据库。我在连接提示中提到了数据库名称,但它只连接到master数据库。在连接时是否有一些我遗漏的东西?

我用于连接的语法是:

conn = "Driver={ODBC Driver 13 for SQL Server};server=;Uid=uid; pwd=pwd;Database = mydb"

我试图在Rstudio中使用RevoscaleR和ODBC()包来连接到特定的数据库,但它仍然连接到master数据库。使用RStudio连接窗格,如果我尝试浏览其他数据库,它只显示dbo架构,即使它们存在也不显示其他架构。有人可以帮我弄清楚可能出现的问题吗?

1 个答案:

答案 0 :(得分:0)

您使用的登录(uid)很可能未被授权用于该特定数据库(它不是作为该数据库中的用户创建的)。

您可以在SSMS中运行的一些示例代码 - 例如 - sa:

--switch over to the database in question
USE mydb
GO
CREATE USER uid FOR LOGIN uid;

上述代码在相关数据库中创建一个与登录名相同的用户。

希望这有帮助!