ODBC接口
RODBC包中的主要函数列于下表中:
函数 描述
odbcConnect(dsn,uid="",pwd="") 建立一个到ODBC数据库的连接
sqlFetch(channel,sqltable) 读取ODBC数据库中的某个表到一个数据库中
sqlQuery(channel,query) 向ODBC数据库提交一个查询并返回结果
sqlSave(channel,mydf,tablename=sqtable,
append=FALSE) 将数据框写入或更新(append=TRUE)到ODBC数据库的某个表中
sqlDrop(channel,sqtable) 删除ODBC数据库中的某个表
close(channel) 关闭连接
RODBC包允许R和一个通过ODBC连接的SQL数据库之间进行双向通信。不仅可以读取数据库中的数据到R中,同时也可以使用R修改数据库中的内容。假设你想将某个数据库中的两个表(Crime和Punishment)分别导入为R中的两个名为crimedat和pundat的数据库,可以通过如下代码完成这个任务:
library(RODBC)
myconn<-odbcConnect("mydsn",uid="Rob",pwd="aardvark")
crimedat<-sqlFetch(myconn,Crime)
pundat<-sqlQuery(myconn,"select *from Punishment")
close(myconn)
首先载入RODBC包,并通过一个已经注册的数据源名称(mydsn)和用户名(rob)以及密码(aardvark)打开了一个ODBC数据库连接。连接字符串被传递给sqlFetch,它将Crime表复制到R数据框crimedat中。然后我们对Punishiment表执行了SQL语句select并将结果保存到数据库pundat中。最后,关闭连接。