摘要:而使用連接數據庫的需求實際是個同事打算使用語言對數據庫直接進行操作而不需要每次都導出數據再進行操作。而在中要實現與數據庫的操作主要有個包可以使用惹的禍而最開始他選擇的是主要是因為在下進行操作。
原文地址:
http://blog.52sox.com/use-r-c...
實際上學習R語言,主要是為了研究時間序列,相比Python的pandas,R中的包要強悍很多。
而使用R連接Oracle數據庫的需求,實際是1個同事打算使用R語言對數據庫直接進行操作,而不需要每次都導出數據再進行操作。而實際上我們公司是使用Python進行數據分析的。
而在R中,要實現與Oracle數據庫的操作,主要有3個包可以使用:
RODBC
RJDBC
ROracle
RODBC惹的禍而最開始他選擇的是RODBC,主要是因為在Windows下進行操作。結果卡在了如下的異常中:
1: In odbcDriverConnect("DSN=group;UID=fwy;PWD=fwy") : [RODBC] ERROR: state IM014, code 0, message [Microsoft][ODBC 驅動程序管理器] 未發現數據源名稱并且未指定默認驅動程序 2: In odbcDriverConnect("DSN=group;UID=fwy;PWD=fwy") : ODBC connection failed
可以很明顯的看到,是沒有安裝對應的ODBC驅動。于是從oracle的官方頁面下載了如下2個文件:
instantclient-basic-windows.x64
instantclient-odbc-windows.x64
這里我在Windows7上使用的版本是11.2.0.3。將上述2個文件解壓后合并在1個文件夾后,通過管理員身份運行文件夾下的odbc_install.exe文件即可安裝。
之后通過控制面板->管理工具->數據源(ODBC)中的相關設置即可成功連接。結果在他的Windows10系統中上述操作無法設置成功。
其配置頁面類似如下:
ODBC設置成功后就可以通過如下的方式操作Oracle數據庫了:
library("RODBC") db <- odbcConnect(dsn="mesprd", uid="mesprd", pwd="wip24ux") data <- sqlQuery(db, "SELECT SYSDATE from DUAL")
需要注意的是,在這里第1個參數dsn是我們設置ODBC時對應的名稱,如果使用IP地址的方式是無法連接成功的,這是需要注意的。
還是ROracle比較靠譜既然RODBC行不通,那么我們就來實踐下RJDBC吧,結果把我搞暈了,實在太復雜了,超出了我頭腦的容納范圍。沒辦法,只能再換種方式了,于是只能試下ROracle了。
我進行了如下的操作:
install.packages("ROracle")
如果直接安裝會出現類似如下的頁面:
結果安裝的過程中提醒我沒有找到OCI的庫。那么需要安裝如下3個包:
instantclient-basic-windows.x64
instantclient-sqlplus-windows.x64
instantclient-sdk-windows.x64
在這里,我使用的版本還是上面的11.2.0.3。安裝完成后,還需要設置OCI_LIB64環境變量,以便可以找到對應的文件。
需要注意的是,ROracle的安裝在Linux上相對更為簡單,在Windows上我們需要手動進行源碼的安裝。很不幸運的是,其版本1.3.1在Windows7系統上式無法編譯通過的,最后選擇了版本1.2則很順利的通過了。其下載地址可以點擊。
下載完成后,我們在R的環境下運行:
setwd("下載包的目錄") install.packages("ROracle_1.2-1.zip",repos=NULL) #install.packages("ROracle",type="source")
當然你也可以手動執行如下的操作:
R CMD INSTALL ROracle-1.2-1.zip
這樣就完成了包的安裝,最后通過類似如下的方式進行操作
library(ROracle) drv <- dbDriver("Oracle") con <- dbConnect(drv, "mesprd", "wip24ux")
最后關于這3個庫的性能問題,可以參考。其執行速度關系為ROracle>RODBC>RJDBC。
參考文章:
https://docs.oracle.com/en/da...
https://cran.r-project.org/we...
https://stackoverflow.com/que...
https://stackoverflow.com/que...
https://stackoverflow.com/que...
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/17662.html
摘要:更多關于阿里云彈性公網的介紹請移步這里。你下載的版本可能比鋼哥的高,不過安裝步驟是一樣的。總結至此,數據庫的完整開發環境就搭建好了。在接下來的文章里,鋼哥將帶你做進一步的優化,敬請期待。 本文是鋼哥的Oracle APEX系列文章中的其中一篇,完整 Oracle APEX 系列文章如下: Oracle APEX 系列文章1:Oracle APEX, 讓你秒變全棧開發的黑科技 Orac...
閱讀 3060·2021-11-18 10:02
閱讀 3327·2021-11-02 14:48
閱讀 3391·2019-08-30 13:52
閱讀 555·2019-08-29 17:10
閱讀 2083·2019-08-29 12:53
閱讀 1403·2019-08-29 12:53
閱讀 1027·2019-08-29 12:25
閱讀 2164·2019-08-29 12:17