【问题标题】:Can't query Oracle tables from R - "Could not SQLExecDirect" error无法从 R 查询 Oracle 表 - “Could not SQLExecDirect”错误
【发布时间】:2017-09-25 14:24:25
【问题描述】:

我创建了一个连接:

library(RODBC)

pswd <- readline("Input Password: ")

channel<-odbcConnect (dsn="dsn",uid="uid",pwd=pswd,believeNRows=FALSE)

我可以得到一个表格列表

tables <- sqlTables(channel, schema="SYSADM")

但是当我尝试查询其中一张表时

query <- "select * from SYSADM.TABLE1"
dataframe <- sqlQuery(channel,query)  

我明白了:

"[RODBC] 错误:无法 SQLExecDirect 'SELECT * FROM \"TABLE1\"'"

我确实有权访问此表,并且能够使用 Toad 对其进行查询。 可能是什么问题?

【问题讨论】:

  • 数据框
  • 遇到同样的错误

标签: r oracle


【解决方案1】:

请进行如下更改,然后尝试以下查询:

tables <- sqlTables(channel, schema='SYSADM')

查询:

 dataframe <- sqlQuery(channel,"select * from SYSADM.TABLE1")

或者

query <- paste("select * from SYSADM.TABLE1")

dataframe <- sqlQuery(channel,"select * from SYSADM.TABLE1")

希望对你有帮助!

【讨论】:

  • 谢谢你,Harshil,但这正是我想做的事情。
  • 所以它起作用了,对吧?如果答案有助于解决您的问题,请投票和/或接受答案。这对新访客会有帮助。
  • 对不起,但当我说这与我尝试过的相同时,这意味着没有帮助。您确实提供了与我在问题中相同的代码。
  • 你确定你的桌子不是空的吗?因为这也可能是一个原因。
  • 不是,我可以通过 Toad 查询。会不会有一些管理权限只在 R (RODBC) 级别强制执行?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-07-21
  • 2021-09-06
  • 1970-01-01
  • 2022-01-18
  • 2023-02-17
  • 2011-11-10
  • 2023-03-27
相关资源
最近更新 更多