在使用ActiveDirectory的odbc SQL Server连接中未找到表使用R的交互式身份验证

gojuced7  于 2023-02-27  发布在  SQL Server
关注(0)|答案(1)|浏览(217)

当我使用ActiveDirectoryInteractive身份验证方法在R中创建odbc SQL Server连接时,系统提示我输入Microsoft凭据(正如预期的那样),连接(可能)成功,但Connections选项卡中没有显示任何表。
使用下面的代码,我希望通过SQL Server建立一个odbc连接,其中指定数据库中的所有表都将在“连接”窗格中可见,但该窗格显示(无表)。

library(DBI)
library(odbc)
library(rstudioapi)

con3 <- dbConnect(odbc(),
                  Driver = "ODBC Driver 17 for SQL Server",
                  Server = SQL_SERVER_NAME,
                  Database = SQL_DATABASE_NAME,
                  UID = rstudioapi::askForPassword(USERNAME),
                  Authentication = "ActiveDirectoryInteractive",
                  Port = PORT_NUM)
x6yk4ghg

x6yk4ghg1#

我通过以下过程连接Azure SQL服务器与Active Directory身份验证:
我在R studio的连接选项中单击了新连接

为SQL服务器选择ODBC驱动程序17

输入连接字符串,如下所示:

library(DBI) 
con <- dbConnect(odbc::odbc(), .connection_string = "Driver={ODBC Driver 17 for SQL Server};Server=tcp:<serverName>.database.windows.net,1433;Database=<databasename>;Authentication=ActiveDirectoryInteractive;", timeout = 10)

点击确定,要求对活动目录进行身份验证,我输入了活动目录的用户名和密码,并在Azure SQL数据库防火墙设置中添加防火墙规则为R studio的IP地址,连接成功。

这样数据库和表是可见的,它为我工作,请检查从您的结束。

相关问题