I work on a Shiny app. When I execute the following code a map displays on a web, all is fine (in my project I separate ui and server files, here I show it as one code):
library(DBI)
library(odbc)
library(pool)
library(dbplyr)
library(shiny)
library(sf)
library(dplyr)
library(leaflet)
library(mapboxer)
library(leaflet.mapboxgl)
options(mapbox.accessToken = " ....my token from MapBox...")
# DB CONNECTION -----------------------------------------------------------
con <- dbPool(odbc::odbc(), dsn = "SQL_DSN")
onStop(function() {
poolClose(con)
})
# UI LOGIC ---------------------------------------------------------------
shinyUI(fillPage(
leafletOutput("map", width = "100%", height = "100%" )
))
# SERVER LOGIC -----------------------------------------------------------
shinyServer(function(input, output) {
output$map <- renderLeaflet({
leaflet() %>%
addMapboxGL(style = "mapbox://styles/mapbox/streets-v9") %>%
setView(lng = 15.145136, lat = 40.464565, zoom = 6)
})
})
However, when I add code responsible for retrieving data from database (execute procedure) then after running app my web window is white, map doesn't display at all. I added this chunk of code after setting db connection so here:
# DB CONNECTION -----------------------------------------------------------
con <- dbPool(odbc::odbc(), dsn = "SQL_DSN")
onStop(function() {
poolClose(con)
})
dateFrom <- "'2020-12-10'"
dateTo <- "'2020-12-18'"
table <- dbGetQuery(con,paste0("EXEC [dbo].[mySP] ", dateFrom, ",", dateTo))
...
When I add this chunk of code to server logic it also doesn't work.
It's worth adding that my connection works fine and this SQL procedure retrieves data from db correctly, I checked it. Unfortunately it doesn't work along with the map.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…