在R中通過RODBC包訪問一個數據庫是最方便的方式,這種方式允許R連接到任意一種擁有ODBC驅動的數據庫。
下面以Oracle 11g 為例:
1.通過ODBC數據源管理器配置用戶DSN:(通過控制面板,選擇小圖標查看方式,點擊ODBC,出現如下窗口,第一次需要進行配置,點擊添加按鈕進行配置即可)
2.安裝RODBC程序包
> install.packages("RODBC")
3. R相關代碼如下:
> library(RODBC) # 加載程序包RODBC > myconn <- odbcConnect("Oracle",uid="scott",pwd=) # 創建數據庫連接,填充相應的用戶名和密碼,此處的Oracle 即為上圖中配置的數據源名稱Oracle > emp.data1 <- sqlFetch(myconn,"EMP") # 通過sqlFetch()函數訪問EMP表 > emp.data2 <- sqlQuery(myconn,"SELECT * FROM EMP") # 通過sqlQuery()函數訪問EMP表 > close(myconn)
4.RODBC中的函數
odbcConnect(dsn,uid="",pwd=""): 建立一個到ODBC數據庫的連接;
sqlFetch(conn,sqltable):讀取ODBC數據庫中的表到一個數據框中;
sqlQuery(conn,query):向ODBC數據庫提交一個查詢並返回結果;
sqlSave(conn,mydf,tablename=sqltable,append=F):將數據框寫入到ODBC數據庫的表中,設置append=T可以向已經存在的表中寫入數據
sqlDrop(conn,sqltable):刪除ODBC數據庫中的表;
close(conn):關閉連接