tryCatch防止R Shiny应用程序在MySQL连接错误时崩溃

dwbf0jvd  于 2022-11-21  发布在  Mysql
关注(0)|答案(1)|浏览(105)

当 错误 的 连接 凭据 传递 给 连接 字符 串 时 , 我 的 Shiny 应用 程序 崩溃 了 。 然后 我 将 连接 字符 串 放在 tryCatch 中 , 如下 所 示 :,,,

ConnectToDb <- function(){
        con <- tryCatch({
          dbConnect(MySQL(), 
                    user = input$db_user,
                    password = input$db_password,
                    dbname = input$db_name,
                    host = input$db_host,
                    port = input$db_port)
          print("Connection made")
          ####
          sql <- "SELECT * FROM PMSAnalytics;"
          
          data <- dbGetQuery(con, sql)
          
          #   # Disconnect from the DB
          dbDisconnect(con)
          #   # Convert to data.frame
          data <- data.frame(data)
          data$timestamp <- as_datetime(now())
          data
          ####
          
        }, error = function(e) {
          message('Please confirm your login details')
          print(e)
        },
        warning = function(w){
          message('A warning has occured')
          print(w)
          return(NA)
        }
        )
      }

中 的 每 一 个
, , , 现在 的 应用 程序 不 粉碎 , 但 无论 如何 , 没有 错误 消息 或 警告 传递 时 , 使用 错误 的 凭据 , 我 也 没有 得到 一 个 连接 成功 。 我 已经 检查 了 这个 网站 类似 的 问题 , 但 我 似乎 没有 得到 任何 。 请 协助 抛光 代码 。
此致 , 克里斯

z0qdvdin

z0qdvdin1#

我使用showNotification,它直接在闪亮的UI中显示通知,您也可以使用它来连接成功。此外,选项有,

  • 持续时间= 60(在本例中为60秒)
  • 关闭按钮=假

例如:

error = function(e) {
    showNotification(paste0(e), type = 'error')

}

warning = function(w){
    showNotification(paste0(w), type = 'warning')
    return(NA)
}

相关问题