无法从 R 查询 Oracle 表 - “Could not SQLExecDirect”错误
Posted
技术标签:
【中文标题】无法从 R 查询 Oracle 表 - “Could not SQLExecDirect”错误【英文标题】:Can't query Oracle tables from R - "Could not SQLExecDirect" error 【发布时间】: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 对其进行查询。 可能是什么问题?
【问题讨论】:
数据框 遇到同样的错误 【参考方案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) 级别强制执行?以上是关于无法从 R 查询 Oracle 表 - “Could not SQLExecDirect”错误的主要内容,如果未能解决你的问题,请参考以下文章
ORACLE SQL 查询从其他表中的行字符串匹配的行返回值