我正在使用 RODBC 包从 R 连接到 Oracle 数据库,但我没有成功合并来自不同数据库的表而没有“下载”这些表(我不想下载它们,因为它们太大了!)。我想使用类似的东西:
DBa=odbcConnect(dsn="DatabaseA",uid="uid",pwd="pwd",readOnly="True")
DBb=odbcConnect(dsn="DatabaseB",uid="uid",pwd="pwd",readOnly="True")
sqldf("select a.year, sum(b.var) as sumVar
from sqlFetch(DBa,'tableA') a
sqlFetch(DBb,'tableB') b
where a.ID=b.ID
group by a.year")
如果有人有想法,那将非常有帮助!提前谢谢了。
莱昂内尔
最佳答案
这个问题类似于问题here .答案似乎是 RODBC 无法在单个查询中访问两个不同的数据库,使用 sqlQuery(...)
,因为连接( channel )是特定于数据库的。所以要么
(1) do it using downloads (as in your code), or
(2) have your DBA put both tables in a single database, or
(3) use something other than R.
关于sql - RODBC:合并来自不同数据库的表( channel ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20355476/