Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
292 views
in Technique[技术] by (71.8m points)

r - Can't display map when add code executing SQL procedure

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.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)
等待大神答复

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...