在R中通过RODBC包访问数据库,这个方式可以连接任何一种拥有odbc驱动的数据库。安装RODBC包的安装命令install.packages("RODBC")
PS:连接数据库前需要在ODBC数据源管理器里将需要的数据库添加进去,本人oracle 数据库 ,如下添加 数据源orcl
安装好RODBC包后开始连接数据库:
> library(RODBC)
> myconn <- odbcConnect("orcl", uid="xxx", pwd="xxx")
sqlFetch(myconn, "TEST1")
在读表时遇到了如下错误:
错误于.Call(C_RODBCFetchRows, attr(channel, "handle_ptr"), max, buffsize, :
不能有负长度矢量
后来在这里http://stackoverflow.com/questions/3407015/querying-oracle-db-from-revolution-r-using-rodbc找到了解决方案
在数据库建立连接时believeNRows=FALSE ,如下:
> myconn <- odbcConnect(dsn="orcl", uid="xxx",