用于初始化和终止数据库连接的闪亮应用程序

时间:2016-09-28 20:45:22

标签: r database connection shiny

我的要求是在应用程序启动时构建一个只连接一次到数据库的Shiny应用程序。如果数据库超时连接,那很好。同样,当用户关闭窗口时,应关闭数据库连接。这个Shiny应用程序有一个Submit按钮,它将根据其他表单输入执行CRUD操作。

在Shiny应用程序的哪个部分可以处理应用程序启动和终止,以便我可以相应地连接和关闭数据库连接?

1 个答案:

答案 0 :(得分:1)

您可以在global.R的应用程序启动时连接到您的数据库。这将使所有应用程序会话的数据库连接可用。但是,每次新会话开始时,您可能更感兴趣的是创建与数据库的连接,因为您可以在server中的server.R函数内创建连接。要关闭数据库,您可以使用session$onSessionEnded。请参阅下面的示例代码。

server <- function(input, output, session) {
  # code to connect to DB

  # ... 

  # code to disconnect the DB
  session$onSessionEnded(function() {
    # this funtion will be execute when session ends
    # like when the user closes the window
    # disconnect DB...

  })
}