【转】 R语言读取Sql server数据库

一、 安装RODBC库

1、进入R语言的GUI界面(RGUI.EXE),在菜单栏选择“程序包/安装程序包”(如图)

450x205

2、在弹出的窗口里往下拉,选择RODBC如图,点击确定
305x210

3、在ODBC数据源管理器里将需要的数据库添加进去,这里笔者使用的是SQL Server2008,驱动程序选择Native Client10.0

这里的关键点在于要指定DSN,在win7下添加ODBC数据源可以采用如下操作:

1.   调用odbcad32.exe    (一般在C:\Windows\System32)下面 

2.   单击添加

3.   选择“SQL Server”,然后单击完成

4.   根据提示输入数据源的名称(例子中指定数据源名称为local_server),要连接的服务器等信息。指定默认的数据库(指定之后,连接到这个数据源的连接都是连接到了这个特定的数据库),最后确定即可。

465x379

3、在R语言窗口输入连接语句

> library(RODBC)

**这里是载入RODBC库
> channel<-odbcConnect(“MyTest”,uid=”ripley”,case=”tolower”)

**连接刚才添加进数据源的“MyTest”数据库

**ch <- odbcConnect(“some dsn “, uid = “user “, pwd = “**** “)

**表示用户名为user,密码是****,如果没有设置,可以直接忽略
> data(USArrests)

**将“USArrests”表写进数据库里(这个表是R自带的)
> sqlSave(channel,USArrests,rownames = “state”,addPK = TRUE)

**将数据流保存,这时候打开SQL Server就可以看到新建的USArrests表了
> rm(USArrests)
> sqlTables(channel)

**给出数据库中的表
> sqlFetch(channel,”USArrests”,rownames = “state”)

**输出USArrests表中的内容
> sqlQuery(channel,”select * from USArrests”)

**调用SELECT查询语句并返回结果(如图)
655x275

> sqlDrop(channel,”USArrests”)

**删除表

> odbcClose(channel)

这里的关键点在于要指定DSN,在win7下添加ODBC数据源可以采用如下操作:

1.   调用odbcad32.exe    (一般在C:\Windows\System32)下面 

2.   单击添加

3.   选择“SQL Server”,然后单击完成

4.   根据提示输入数据源的名称(例子中指定数据源名称为local_server),要连接的服务器等信息。指定默认的数据库(指定之后,连接到这个数据源的连接都是连接到了这个特定的数据库),最后确定即可。

未经允许不得转载:哈勃私语 » 【转】 R语言读取Sql server数据库

本文共1186个字 创建时间:2015年12月14日1:34   
上一篇:

分享到:更多 ()