【发布时间】:2021-12-14 23:24:26
【问题描述】:
我有一个需要使用 R Studio 运行的 SQL 脚本。但是,我的 SQL 脚本有一个在我的 R 环境中定义的变量。我正在使用dbGetQuery;但是,我不知道(也没有找到解决方案)如何传递这些变量。
library(readr)
library(DBI)
library(odbc)
library(RODBC)
#create conection (fake one here)
con <- odbcConnect(...)
dt = Sys.Date()
df = dbGetQuery(.con, statement = read_file('Query.sql'))
“Query.sql”文件引用了dt。如何让文件识别我的变量dt?
【问题讨论】:
-
看看
glue_sql:glue.tidyverse.org/reference/glue_sql.html。 -
仅供参考,有几件事:(1)您定义
con并使用.con(点),可能是一个错字。 (2) 您似乎正在使用从RODBC创建的con,但试图在DBI函数中使用它。我没有用过RODBC,但你确定它合适且实用吗? (3) 实际上,你需要RODBC(有odbcConnect和sqlQuery但没有绑定参数支持),或者你需要DBI和odbc(有dbConnect和dbGetQuery,支持绑定参数)。你不需要两个都需要。