R markdown 无法使用 Azure 交互式身份验证进行编译

R markdown fails to compile using Azure interactive authentication

提问人:Pernille Draborg 提问时间:11/1/2023 更新时间:11/2/2023 访问量:55

问:

我需要找到一种方法来连接到具有多重身份验证的 SQL 数据库。

我正在使用以下代码,该代码适用于普通的R文档:

server <- "xxx"
database <- "yyy"
user <- "zzz"


 conn <- dbConnect(odbc(),                 
Driver = "ODBC Driver 17 for SQL Server",                 
Server = server,                 
Database = database,                 
UID = rstudioapi::askForPassword(user),                 
Authentication = "ActiveDirectoryInteractive",                 
Port = 1433)

但是我正在使用 R markdown 创建一个报告,当我编织我的文件时,它似乎一开始工作正常,但是在我在弹出窗口中写下密码后,它在完成 18% 时停止编译,然后就留在那里(我试图让它独自一人一个小时,但什么也没发生, 它仍然在 18% - 所以我没有错误,但它只是不会完成编译)。

Azure R-Markdown 多重身份验证

评论


答:

0赞 Bhavani 11/2/2023 #1

可以使用以下代码在 R markdown 中连接到 Azure SQL 数据库:You can use the code below to connect to an Azure SQL database in R markdown:

library(DBI)
server <- "<serverName>.database.windows.net"
database = "<databaseName>"
con <- DBI::dbConnect(odbc::odbc(), 
                 UID = rstudioapi::askForPassword("username"),
                 Driver="ODBC Driver 17 for SQL Server",
                 Server = server, Database = database,
                 Authentication = "ActiveDirectoryInteractive")

在 R markdown 中运行上述代码时,会提示输入用户名,如下所示:

enter image description here

输入您的AD用户名,点击“确定”,会弹出一个窗口进行密码和验证,如下所示:

enter image description here

输入您的密码,然后单击“登录”。将进行验证,如下所示:

enter image description here

完成验证后,数据库连接成功,没有任何错误,如下图所示:

enter image description here

连接成功后,在 markdown 中插入一个 SQL chunk,并使用上面的连接运行查询,如下所示:

enter image description here

评论

0赞 Pernille Draborg 11/3/2023
但是,我如何在我的环境中保存和调用我想要的 SQL 数据集呢?我正在 R 中操作 SQL 中的数据
0赞 Bhavani 11/5/2023
您能否提供您的样品操作数据?
0赞 Pernille Draborg 11/6/2023
是的,这就是我正在努力开始的工作: SQLDataInd_kontrol<- paste(“SELECT * FROM ”, “InputMR”,“.”,“Kontrol”,“ WHERE opgørelsesdato = ”, Opgørelsesdato,“ AND Bestand =”, bestand, “ ORDER BY sortering”, sep=“”) kontrol <- dbGetQuery(conn, SQLDataInd_kontrol)
0赞 Bhavani 11/16/2023
如果您在运行上述代码时遇到错误,您能否提供错误?
0赞 Pernille Draborg 11/17/2023
问题是,没有错误。当我编织它时,该文件无法编译。它只是冻结了,然后什么也没发生