在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):关闭连接