R语言读取Sql server数据库

来源:互联网 发布:如何培养职业道德知乎 编辑:程序博客网 时间:2024/04/30 05:39

一、 安装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),要连接的服务器等信息。指定默认的数据库(指定之后,连接到这个数据源的连接都是连接到了这个特定的数据库),最后确定即可。


1 0
原创粉丝点击