随着 的发布dplyr 0.7.0
,现在据说可以很容易地使用该odbc
软件包连接到 Oracle。但是,我在访问不在默认模式内的表时遇到了问题(对我来说,这是我的用户名)。例如,假设TEST_TABLE
schema 中有表TEST_SCHEMA
。然后,获取数据的示例 SQL 语法将是:select * from TEST_SCHEMA.TEST_TABLE'
.
为了在`dplyr中做同样的事情,我正在尝试以下操作:
# make database connection using odbc: [here's a guide][1]
oracle_con <- DBI::dbConnect(odbc::odbc(), "DB")
# attempt to get table data
tbl(oracle_con, 'TEST_SCHEMA.TEST_TABLE')
现在,这会导致错误消息:
Error: <SQL> 'SELECT *
FROM ("TEST_SCHEMA.TEST_TABLE") "zzz12"
WHERE (0 = 1)'
nanodbc/nanodbc.cpp:1587: 42S02: [Oracle][ODBC][Ora]ORA-00942: table or view does not exist
我认为这里的问题是双引号,如:
DBI::dbGetQuery(oracle_con, "select * from (TEST_SCHEMA.TEST_TABLE) where rownum < 100;")
工作正常。