gpt4 book ai didi

r - 无法从shinyapps.io连接到Microsoft Azure

转载 作者:行者123 更新时间:2023-12-03 00:06:43 24 4
gpt4 key购买 nike

我构建了一个从 Microsoft Azure 提取数据的 Rshiny 应用程序。当我在连接字符串中使用“SQL Server”驱动程序时,我的应用程序可以在本地运行,但当我在shinyapps.io 上发布应用程序时,我的应用程序无法运行。基于 here 的建议,当我在shinyapps.io上发布时,我一直尝试使用“FreeTDS”驱动程序与Azure连接,但我没有任何运气。

这是我的连接字符串:

con <- dbConnect(odbc::odbc(),
Driver = "FreeTDS",
Server = "servername",
Database = "databasename",
Uid = "uid",
Pwd = "pwd",
Port = 1433,
TDS_Version = 9.0)

我在使用“FreeTDS”驱动程序时收到以下错误消息:

Error in value[[3L]](cond) : 
nanodbc/nanodbc.cpp:950: 08001: [unixODBC][FreeTDS][SQL Server]Unable to connect to data source

我尝试过使用 TDS_Version 7.0、7.2、7.4、9.0 - 没有任何效果。谁能帮我解码这个错误消息?谢谢!

注意:我在 Windows 10 上使用 R 3.6。我已在 Azure 上将shinyapps.io IP 地址列入白名单,因此这不是问题。

最佳答案

对于在本地 Windows 和 Shinyapps.io 上连接,这对我有用:

library(RODBC)

is_local<-Sys.getenv('SHINY_PORT')==""

dbConnector <- function(local=FALSE){
if(local){dbConn <- odbcDriverConnect("Driver=ODBC Driver 13 for SQL Server;Server=xxx.database.windows.net,1433;Database=xxxxxxxxx;Uid=xxxx;Pwd=xxxxxxxxx;Encrypt=yes;TrustServerCertificate=no;Connection Timeout=30")
} else {dbConn <- odbcDriverConnect("Driver=FreeTDS;TDS_Version=8.0;Server=xxxx.database.windows.net; Port=1433;Database=xxxxx;Uid=xxxxxx;Pwd=xxxxxxxxx;Encrypt=yes;TrustServerCertificate=no;Connection Timeout=30")}
}
dbConn <- dbConnector(is_local)

关于r - 无法从shinyapps.io连接到Microsoft Azure,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56486557/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com