2014-10-16 66 views
4

對於我正在工作的當前項目,我需要從兩個不同的數據庫中提取數據--SQL Server和Teradata。我使用的R-Studio爲我的查詢和R-腳本編譯R:從R Studio連接到多個數據庫

我使用下面的包我: 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,我失去我的所有實例,並且是在不同的架構之前加載的對象。任何解決方法?

回答

1

一種快速和骯髒的方法是啓動常規R GUI的多個R會話,一個64位和一個32位(或使RStudio一個版本,並在常規R GUI中打開另一個版本),然後傳遞對象和使用saveload實例:

測試R上3.1.1

的32個64位版本在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 
+0

謝謝@ mkemp6 ...這工作! – EsBee 2014-12-18 00:37:10