【发布时间】:2021-02-04 15:47:50
【问题描述】:
我试图从 oracle 数据库中加载一些数据,在此过程中,每一行代码都很好,直到我尝试运行最后一行:
df<- sqlQuery(sql_connection,sql_statement,stringsAsFactors=0),
标题出现错误。
所以这是我的代码的基本结构:
require(RODBC)
require(lubridate)
require(stringr)
require(dplyr)
require(tidyr)
#server for N2 purge attribute
target <- "xxxx"
user <- "xxxx"
pass <- "xxxx"
#print("Working on lot history...")
sql_string <- paste0("select
xxxx
from
xxxx
where
xxxx
")
sql_statement <- sprintf
#sql_statement <- sprintf(sql_string, BackDate, DidList[m])
sql_connection <- odbcConnect(dsn = target, uid = user, pwd = pass,believeNRows=FALSE)
df<- sqlQuery(sql_connection,sql_statement,stringsAsFactors=0)
由于我是 R 新手,我觉得我无法判断错误的原因在哪里。如果有人可以帮助我解决这个问题,我将不胜感激。
【问题讨论】:
-
你用你定义为
sql_statement <- sprintf的sql_statement调用sqlQuery。因此sql_statement不是一个字符而是一个函数,而是一个所谓的closure。