Я построил простое приложение 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