Как вытащить данные с помощью хранимых процедур в Shiny App? - PullRequest
0 голосов
/ 29 октября 2019

Я построил простое приложение Shiny, которое выполняет хранимую процедуру, которая показывает результаты в виде таблицы. Хранимая процедура требует одного ввода и извлекает результаты из существующей таблицы. Это блестящее приложение отлично работает, даже если я разверну его в Rstudio Connect. Проблема состоит в том, что развернутое блестящее приложение не показывает никаких результатов, когда я изменяю хранимую процедуру таким образом, чтобы сохранить результаты во временной таблице и затем выбрать из этой временной таблицы. То же приложение и хранимая процедура прекрасно работают в Rstudio IDE на локальном компьютере. Моя фактическая хранимая процедура требует сохранения результатов в разных временных таблицах. Я должен отметить, что я попытался скопировать во временную таблицу и выбрать из нее тоже. Это не сработало.

Я проверил все разрешения и дал полный доступ для запуска хранимой процедуры даже публичным пользователям.

# Shiny App
shinyUI <- fluidPage(
     numericInput("UserNumber", "UserNumber:", value = "2200205"),
     titlePanel("Enter User Number"),
     tableOutput("tbl"))

shinyServer <- function(input, output,session) {
    my_data <- reactive({
      data <- pool %>% dbGetQuery(paste0("exec database.[dbo].        
      [StoredProcedure_test] @UserNumber= ", "'",input$UserNumber,"'")) 
                        })

output$tbl <- renderTable({
      my_data()
                          })
                                               }
shinyApp(ui = shinyUI, server = shinyServer)

Хранимая процедура, которая не работает в Deployed Shinyapp

Create PROCEDURE [dbo].[StoredProcedure_test] @UserNumber int

 AS
 BEGIN

select top 10 UserName ,StoreName into #t1
from Database.dbo.Users
where UserNumber= @UserNumber

select * from #t1


 Return(0)
 END

Фактические результаты должны быть в двух столбцах UserName и StoreName из временной таблицы # t1

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...