r语言 - 通过日期选择基础上的闪亮应用程序从SQL Server获取数据



嘿每个人 我正在开发一个 Shiny 应用程序,我们通过 ODBC 连接器从 SQL Server 中提取数据,方法是在应用程序中选择日期。 我无法确定问题出在哪里,因为如果我在 R Studio 上独立执行代码,我能够从 sql 服务器中提取数据 但是,当在 Shiny 环境中执行相同的代码时,我无法实现闪亮的数据如下 请指导我 谢谢。

# ---------------------ui Code -----------------------------
library(shiny) 
shinyUI(pageWithSidebar( 
  headerPanel("Time Analytics"), 
  sidebarPanel( 

      dateRangeInput(inputId = "dateRange",  
                     label =  "Date range",
                     start = "2007-09-17",
                     max = Sys.Date()
      )

  ),#sidebar Panel Ends

    # 09-Main Panel ----
  mainPanel(
    tabsetPanel(id ="theTabs",
                tabPanel("Summary", dataTableOutput("tabi"),textOutput("tabii")) 
    )
  )#Main Panel Ends
))
#------------------Server ----------------------------------

library(shiny);library(sqldf)
library(plyr);library(RODBC)
library(ggplot2)

#Creating the connection 
shinyServer(function(input, output, session){ # pass in a session argument



  # prep data once and then pass around the program
  passData <- reactive({


    ch = odbcConnect("Test")  
    #qry <- "SELECT * FROM Nifty50"
    #qry <- cat("SELECT * FROM Nifty50 WHERE Date >= ",as.date(input$dateRange[1])," AND Date <= ",input$dateRange[2])
    qry <- paste("SELECT * FROM Nifty50 WHERE Date >= ",input$dateRange[1]," AND Date <= ",input$dateRange[2])
    #paste("SELECT * FROM Nifty50 WHERE Date >= ",input$dateRange[1]," AND Date <= ",input$dateRange[2])
    subset_Table <- sqlQuery(ch,qry)
    odbcClose(ch)
    subset_Table <- as.data.frame(subset_Table)
    return(subset_Table)
  })
  output$tabi <- renderDataTable({
    d<- as.data.frame(passData())
    d
  })
  output$tabii <- renderText({
    paste("Minimium Data :",input$dateRange[1], "Max Date:",input$dateRange[2])
  })


  # ----------------------------------------------------End
})

这里的任务是我需要根据日期到和从条件从选定的表中获取数据,这将是根据闪亮应用程序中的选定日期的子集数据。

按如下方式修改qry

qry <- paste("SELECT * FROM Nifty50 WHERE Date >= '", input$dateRange[1], "' AND Date <= '", input$dateRange[2], "'", sep = "") 

最新更新