我是 R 闪亮的初学者。我使用 Oracle 数据库。
我有一张桌子T_Client(CLI_ID, CLI_NAME, CLI_INFO)
。
我在使用反应函数的 selectinput 中CLI_NAME
显示T_CLIENT
sqlOutput()
但是我无法显示 中的所有列,该T_CLIENT
功能无法正常工作。renderTable
sqlOutput()
请问有什么帮助吗?提前致谢。
library(DBI)
library(ROracle)
library(shinydashboard)
header <- dashboardHeader()
sidebar <- dashboardSidebar()
body <- dashboardBody(
uiOutput("ui_assetClass"),
tableOutput("table2"))
shinyApp(
ui = dashboardPage(header, sidebar, body),
server = function(input, output, session= open()) {
drv <- dbDriver("Oracle")
host <- "host"
port <- xxxx
svc <- "svc"
connect.string <- paste(
"(DESCRIPTION=", "(ADDRESS=(PROTOCOL=tcp)(HOST=", host, ")(PORT=", port, "))",
"(CONNECT_DATA=(SERVICE_NAME=", svc, ")))", sep = "")
DB <- dbConnect(drv, username = "username", password = "password", dbname = connect.string)
sqlOutput<- reactive({
sqlInput<- dbGetQuery(DB,"select CLI_NAME from T_CLIENT")
sqlInput
})
output$ui_assetClass <- renderUI({
selectInput(" Clients", "choose client", choices = sqlOutput())
})
dabaBaseInput2 <- reactive({
x <- dbGetQuery(DB, sprintf("SELECT CLI_ID, CLI_NAME, CLI_INFO FROM T_CLIENT where CL_NOM = '%s' ",sqlOutput()))
x
})
output$table2 <- renderTable({
dabaBaseInput2()
})
})