当我使用
ActiveDirectoryInteractive
身份验证方法在 R 中创建 odbc SQL Server 连接时,系统会提示我输入我的 Microsoft 凭据(如预期的那样)并且连接(大概)成功但“连接”选项卡中未显示任何表。
使用下面的代码,我希望通过 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)
我通过以下过程将 Azure SQl 服务器连接到活动目录身份验证:
我在 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 地址。 它连接成功。
以这种方式,数据库和表是可见的,它对我有用,请从你这边检查。