我可以在sqlplus對Oracle表運行此查詢,它的工作原理,我得到返回結果:無法運行中的R對Oracle表的SQL查詢
SELECT * FROM KEYNOTE_PRD WHERE KEYNOTE_PRD."Site"='High Frequency NY Traffic'
但我儘量同爲R內的下列代碼:
tryCatch({
ch=odbcConnect("<id>",pwd = "<passwd>")
sql<-c("SELECT * FROM KEYNOTE_PRD WHERE KEYNOTE_PRD."Site"='High Frequency NY Traffic'")
res<-sqlQuery(ch, sql)
},error = function(e) {
print(odbcGetErrMsg(ch))
print("retrive or connect to the db")
})
odbcClose(ch)
它不起作用。我認爲它不喜歡雙引號內的雙引號(KEYNOTE_PRD。「Site」)。任何想法如何解決這個問題?
雙引號是變量名稱的一部分嗎? (比你要逃避'\\''') – sgibb
或者你可以使用sprintf,paste,cat或任何其他函數來插入字符串 – hd1
@sgibb,我做到了,仍然沒有工作:sql < c(「SELECT * FROM KEYNOTE_PRD T WHERE T。\\ Site \\」='高頻NY流量'「) – user1471980