Я пытаюсь выполнить SQL-запрос с помощью dplyr на SQL Server:
tbl(con, sql(sqlQuery))
Запрос создается динамически с использованием sprintf("SELECT ... WHERE a = '%s')
. Это плохая практика, потому что ею можно злоупотреблять для SQL-инъекций, но я не могу найти никакой документации или рабочих примеров для параметризованных запросов в dplyr. Это можно сделать, как?
Соединение (con
) использует DBI, библиотеку odbc и драйвер ODBC {SQL Server Native Client 11.0}:
con <- DBI::dbConnect(odbc::odbc(),
Driver = "{SQL Server Native Client 11.0}",
sqlInterpolate
работает сtbl
:sqlQuery <- sqlInterpolate(con, "select count(*) from mytable where var = ?value", value = 10) ; tbl(con, sql(sqlQuery))
. Я не уверен, что понимаю, чего вы ожидаете, не могли бы вы рассказать подробнее? - person Scarabee   schedule 25.08.2017gsub("@", "?", .)
вокруг своего запроса, но это не очень чисто. - person Scarabee   schedule 25.08.2017