首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法对R中的oracle表运行sql查询

无法对R中的oracle表运行sql查询
EN

Stack Overflow用户
提问于 2013-05-22 03:26:39
回答 2查看 719关注 0票数 0

我可以在sqlplus中对oracle表运行此查询,它可以工作并返回结果:

代码语言:javascript
复制
SELECT * FROM KEYNOTE_PRD WHERE KEYNOTE_PRD."Site"='High Frequency NY Traffic'

但是我尝试在R中使用下面的代码:

代码语言:javascript
复制
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”)。你知道我该怎么解决这个问题吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-05-22 21:54:01

这将帮助那些不熟悉Oracle的人。这个网络非常简单。我将列名改为大写字母,这个问题就解决了。这一定是神谕的事。

代码语言:javascript
复制
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)
票数 0
EN

Stack Overflow用户

发布于 2013-06-05 01:46:11

我刚刚遇到了相同类型的问题,列名较低,并且我无法控制表。解决方案是使用单个\字符对引号进行转义。它就像一个护身符一样有效。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16677933

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档