RODBC:合并来自不同数据库的表(频道)

use*_*082 5 sql r rodbc sqldf

我正在使用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")
Run Code Online (Sandbox Code Playgroud)

如果有人有想法,那将非常有帮助!提前谢谢了.

莱昂内尔

jlh*_*ard 1

这个问题与这里的问题类似。答案似乎是 RODBC 无法在单个查询中使用 访问两个不同的数据库sqlQuery(...),因为连接(通道)是特定于数据库的。所以要么

(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. 
Run Code Online (Sandbox Code Playgroud)