gpt4 book ai didi

R:从 R Studio 连接到多个数据库

转载 作者:行者123 更新时间:2023-12-01 05:09:00 25 4
gpt4 key购买 nike

对于我正在工作的当前项目,我需要从 2 个不同的数据库中提取数据 - SQL Server 和 Teradata。我正在使用 R-Studio 来编译我的查询和 R 脚本

我正在使用以下软件包:
RODBC,
RJDBC,
rJava,

我面临的问题是:SQL Server 是 64 位 ODBC 连接,而 Teradata 是 32 位 ODBC 连接。如果我安装 32 位版本的 R,我将无法连接到 SQL Server;如果我安装 64 位版本的 R,RJDBC 和 rJava 不兼容,我无法连接到 Teradata。

非常感谢有关如何同时连接到两个数据库的任何帮助!!!

R 版本:3.1.1
R-Studio 版本:0.98.1074

谢谢!

编辑

我可以从 R-Studio 中的工具-> 全局选项在架构之间切换。

Global Options

但要生效,它要求我重新启动 R。通过重新启动 R,我丢失了之前在不同架构中加载的所有实例和对象。任何解决方法?

最佳答案

一种快速而肮脏的方法是启动常规 R GUI 的多个 R session ,一个是 64 位,一个是 32 位(或使 RStudio 成为一个版本并在常规 R GUI 中打开另一个),然后使用 save 传递对象和实例和 load :

在 32 位和 64 位版本的 R 3.1.1 上测试

在 64 位 R 上

> data(iris)
> foo.df <- iris[,1:3]
> save(list = ls(all = TRUE), file = ".RData64bit")

在 32 位 R 上
> local({
+ load(".RData64bit") # load the image
+ ls() # list the loaded objects
+ })
[1] "foo.df" "iris" "rLibraryLocation" "toInstall"
[5] "wantedPackages"
> load(".RData64bit") # execute the load in the R environment, objects now available
> summary(foo.df)
Sepal.Length Sepal.Width Petal.Length
Min. :4.300 Min. :2.000 Min. :1.000
1st Qu.:5.100 1st Qu.:2.800 1st Qu.:1.600
Median :5.800 Median :3.000 Median :4.350
Mean :5.843 Mean :3.057 Mean :3.758
3rd Qu.:6.400 3rd Qu.:3.300 3rd Qu.:5.100
Max. :7.900 Max. :4.400 Max. :6.900

关于R:从 R Studio 连接到多个数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26412452/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com