Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R-mysql连接没有';无法从服务器.R工作(从其他文件工作)_Mysql_R_Shiny_Rstudio_Shiny Server - Fatal编程技术网

R-mysql连接没有';无法从服务器.R工作(从其他文件工作)

R-mysql连接没有';无法从服务器.R工作(从其他文件工作),mysql,r,shiny,rstudio,shiny-server,Mysql,R,Shiny,Rstudio,Shiny Server,我在RStudio中有一个闪亮的应用程序,它可以处理我从mysql数据库检索到的数据 与mysql的连接和查询位于应用程序外部的一个文件中,因此我可以创建数据帧 但是,当我将到mysql的连接和sql查询复制到Shining应用程序的server.R中时,该应用程序会跳过查询并给出一个数据帧不存在的错误(error:object'tickets'not found) 因此,mysql查询是从server.R外部进行的,而不是从server.R进行的。我做错了什么 下面是我的server.R和ui

我在RStudio中有一个闪亮的应用程序,它可以处理我从mysql数据库检索到的数据

与mysql的连接和查询位于应用程序外部的一个文件中,因此我可以创建数据帧

但是,当我将到mysql的连接和sql查询复制到Shining应用程序的
server.R
中时,该应用程序会跳过查询并给出一个数据帧不存在的错误(
error:object'tickets'not found

因此,mysql查询是从
server.R
外部进行的,而不是从
server.R
进行的。我做错了什么

下面是我的server.R和ui.R的示例:

服务器.R

library(shiny)
library(RMySQL)
library(ggplot2)
#library(ggiraph)
library(lubridate)

##Connect to Redmine db
con <- dbConnect(MySQL(),
                 user = '#',
                 password = '#',
                 host = '#',
                 dbname='#')

tickets<-dbGetQuery(con, "Select * from table")
issues_speed_unique<-unique(na.omit(dbGetQuery(con,"Select * from table2")))
dbDisconnect (con) 

some aggregations....

shinyServer(
  function(input,output){
     output$tickets_week<-renderPlot(
          ggplot(data = subset(tickets,

问题是
ui.R
是在
server.R
之前运行的,当然数据丢失了(因为数据是在
server.R
中查询的,因此出现了错误)

解决方案是将
server.R
ui.R
中的代码放在一个名为
app.R
的文件中。因此,在
app.R
中,我按照以下顺序编写了代码:

  • 加载包(
    库(packagename)
    )代码
  • 建立连接并查询代码
  • 服务器代码
  • 用户界面代码
  • 完成代码时使用:
    shinyApp(ui=ui,server=server)

  • 关于Shining在单个文件中的更多信息-
    app.R
    文件:

    如果在查询下添加
    print(tickets)
    ,并运行该应用程序,数据框是否打印到控制台?@Pete900抱歉,回复延迟。不,没有显示。它似乎直接跳转到shinyServer(函数(输入、输出){。当你通过浏览器启动应用程序时,它会比仅仅在RStudio中运行有效吗?@Pete900感谢提示“打印(票证)”。它有助于调试。请查看我找到的解决方案。
    library(shiny)
    library(ggplot2)
    #library(ggiraph)
    #library(htmltools)
    library(lubridate)
    
    shinyUI(fluidPage(