私が思ったようにこのプロセスを理解できないと思います。私は下のリンクを見つけました。それはかなり役に立つと思われますが、わずかな変更を加えた後、私は自分が望むことをすることができません。Shiny Appを使用してSQL Serverデータベースを照会する
私はちょうどWebページを起動して、クエリに渡すことを、ユーザーがパラメータを入力したいです。
library(RODBCext)
library(shiny)
ui <- shinyUI(
pageWithSidebar(
headerPanel("Hide Side Bar example"),
sidebarPanel(
textInput("CATEGORY", "Enter CATEGORY below"),
submitButton(text="Submit")
),
mainPanel(
tabsetPanel(
tabPanel("Data", tableOutput("tbTable"))
)
)
)
)
browser()
server <- function(input, output, session)
myData <- reactive({
req(input$Id)
#connect to database
dbhandle = odbcDriverConnect('driver={SQL Server};server=my_server;database=data_WH;trusted_connection=true')
browser()
#build query
#query = "SELECT * FROM [my_db].[dbo].[my_table] where [CATEGORY] = '1070'"
query = "SELECT * FROM [my_db].[dbo].[my_table] where [CATEGORY] = ?"
browser()
#store results
res <- sqlExecute(channel = dbhandle,
query = query,
data = list(input$Id),
fetch = TRUE,
stringsAsFactors = FALSE)
#close the connection
odbcClose(dbhandle)
#return results
res
})
output$tbTable <-
renderTable(
myData()
)
shinyApp(ui = ui, server = server)
SQL文字列は問題ありません。スクリプトをデバッグしようとすると、私はブラウザに入りました。下記のリンクを参照してください。
https://shiny.rstudio.com/articles/debugging.html
ブラウザ()
それはコードを一時停止しませんでした。私はコードをデバッグするのに役立たなかった。それは全く何もしなかった。
誰でも考えられますか?
入力$ idを入力して$ CATEGORYを最初のステップとして入力してください – awchisholm
さて、それは素晴らしいキャッチawchisholmでした!あなたが推奨する変更を加えましたが、問題を解決しませんでした。私はまだIDを入力することはできませんし、私のブラウザのウィンドウで結果を参照してください。有効なIDを入力してボタンをクリックすると、何も表示されません。私はそれがスクリプトのことですが。私がコードを完全に誤解していない限り。何があっても、私は間違いなくシャイニーIQを高める必要があります。 – ryguy72