如何与云关系数据库(在MySQL中)进行闪亮的应用程序对话?

如何与云关系数据库(在MySQL中)进行闪亮的应用程序对话?,第1张

概述对于许多专家来说这听起来很容易,但是花了好几个小时后我还没有想出一个合适的解决方案,我可能忽略了一些易于配置的东西.我的问题是在部署到shinyapps.io之后,如何使这个闪亮应用程序与云关系数据库(例如Google MySQL服务)交谈我已经在我的Windows 7 64位计算机上成功启动了这个闪亮的应用程序,因为我已将用户DSN指定为google_s

对于许多专家来说这听起来很容易,但是花了好几个小时后我还没有想出一个合适的解决方案,我可能忽略了一些易于配置的东西.

我的问题是在部署到shinyapps.io之后,如何使这个闪亮的应用程序与云关系数据库(例如Google MySQL服务)交谈

我已经在我的@R_419_5087@ 7 64位计算机上成功启动了这个闪亮的应用程序,因为我已将用户DSN指定为Google_sql,具有正确的驱动程序MysqL ODBC 5.3 ANSI驱动程序,ip,密码等,因此在代码行odbcConnect中我可以简单地提供dsn,用户名和密码来打开连接.然而,当我将它部署到shinyapps.io时,它失败了我的期望.我的猜测是我的DSN Google_sql无法被shinyapps.io识别,所以为了让它正常工作,我该怎么办?我应该更改一些代码吗?或者在shinyapps.io上配置

PS:这不是关于如何安装RMysqL,有人在这里发布类似的问题(除非他们认为RMysqL可以做一些RODBC不能做的事情)@H_403_8@connecting shiny app to mysql database on server

server.R

 library(shiny)#   library(RODBC)    library(RMysqL)#   ch <- odbcConnect(dsn = "Google_sql",uID = "abc",pwd = "def")    ch <- dbConnect(MysqL(),user='abc',password='def',host = 'cloud_rdb_ip_address',dbname = 'my_db')    shinyServer(function(input,output) {      statement <- reactive({        if(input$attribute == 'All'){          sprintf("SELECT * FROM test_db WHERE country = '%s' AND item = '%s' AND year = '%s' AND data_source = '%s'",input$country,input$item,input$year,input$data_source)        }else{          sprintf("SELECT * FROM test_db WHERE country = '%s' AND item = '%s' AND attribute = '%s' AND year = '%s' AND data_source = '%s'",input$attribute,input$data_source)              }      })       output$result <- rendertable(dbFetch(dbSendquery(ch,statement=statement()),n=1000))    })

ui.R

library(shiny)shinyUI(fluIDPage(  # Application Title  headerPanel("Sales Database User Interface"),fluIDRow(    column(4,selectinput('country','Country',c('United States','European Union','China'),selected = NulL),selectinput('item','Item',c('Shoes','Hat','Pants','T-Shirt'),selectinput('attribute','Attribute',c('All','Sales','Procurement'),selected = NulL)               ),column(4,selectinput('year','Calendar Year',c('2014/2015','2015/2016'),selectinput('data_source','Data Source',c('automation','Manual'),selected = NulL)    )  ),submitbutton(text = "submit",icon = NulL),# SIDebar with a slIDer input for the number of bins  # Show a plot of the generated distribution  mainPanel(    tableOutput("result")  )))

我认为值得发布我的闪亮showLogs()错误日志专家来启发我,

2015-05-04T06:32:16.143534+00:00 shinyapps[40315]: R version: 3.1.22015-05-04T06:32:16.392183+00:00 shinyapps[40315]: 2015-05-04T06:32:16.143596+00:00 shinyapps[40315]: shiny version: 0.11.12015-05-04T06:32:16.392185+00:00 shinyapps[40315]: Listening on http://0.0.0.0:513362015-05-04T06:32:16.143598+00:00 shinyapps[40315]: rmarkdown version: NA2015-05-04T06:32:16.143607+00:00 shinyapps[40315]: knitr version: NA2015-05-04T06:32:16.143608+00:00 shinyapps[40315]: Jsonlite version: NA2015-05-04T06:32:16.143616+00:00 shinyapps[40315]: rjsonio version: 1.3.02015-05-04T06:32:16.143660+00:00 shinyapps[40315]: HTMLtools version: 0.2.62015-05-04T06:32:16.386758+00:00 shinyapps[40315]: Using rjsonio for JsON processing2015-05-04T06:32:16.386763+00:00 shinyapps[40315]: Starting R with process ID: '27'2015-05-04T06:32:19.572072+00:00 shinyapps[40315]: Loading required package: DBI2015-05-04T06:32:19.831544+00:00 shinyapps[40315]: Error in .local(drv,...) : 2015-05-04T06:32:19.831547+00:00 shinyapps[40315]:   Failed to connect to database: Error: Lost connection to MysqL server at 'reading initial communication packet',system error: 02015-05-04T06:32:19.831549+00:00 shinyapps[40315]: 

PS:我想我需要将shinyapps.io ip地址列入我的Google可以,以便在shinyapps.io上启用部署.最佳答案我实际上设法自己想出了这个问题的答案,但是想分享答案,因为它也可能与其他人有关.

以下是白名单所需的IP地址.

54.204.29.251

54.204.34.9

54.204.36.75

54.204.37.78

总结

以上是内存溢出为你收集整理的如何与云关系数据库(在MySQL中)进行闪亮的应用程序对话?全部内容,希望文章能够帮你解决如何与云关系数据库(在MySQL中)进行闪亮的应用程序对话?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/1168157.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存