R 连接 SQL Server
许冠明
1、配置 ODBC 数据源
Windows 下的 ODBC 配置。先打开“控制面板”,进入“管理工具”菜单,选择“数
据源(ODBC)”会出现如下窗口:
图中的数据源名称“SQLServer”是我已经添加了的,随便取得名字,一般第一
次是没有这个的。如果驱动程序列没有 SQL Server,则需要点击“添加”。
点击“完成”出现如下界面:这里我把名称写成“SQLServer”,即数据源名称(Data
Source Name,DSN)。服务器选择 local,或者其他选项。
点击下一步,界面如下:选择“使用用户„„”登录 ID 和密码即登录 SQL Server
的用户名和密码。比如 sa 密码:ok
点击下一步,界面如下:更改默认数据库为 TEST,那么 R 语言
conn=odbcConnect('SQLServer',uid='sa',pwd='ok')
result=sqlQuery(conn,'select*from student')
连接的数据库就是 TEST,其中 student 表为 TEST 数据库中的表。
点击下一步,完成:
2、R 语言连接数据库,代码如下
Library(RODBC)
odbcDataSources()
conn=odbcConnect('SQLServer',uid='sa',pwd='ok')
result=sqlQuery(conn,'select*from student')
result
odbcClose(conn)
首先载入 RODBC 包,然后使用 odbcDataSources()函数查看可用的数据源。发现 SQL Server
的数据源名称为“SQLServer”,记住这个名称。然后建立数据库的连接,使用的命令行如下:
conn=odbcConnect("SQLServer ",uid="sa",pwd="ok",case="tolower")
其中,第一个参数就是刚才 odbcDataSources()函数列出的 SQL server 数据源的名称,uid 为用
户名 pwd 为密码,case 参数表示大小写转换,因为 Windows 默认将字符转换为小写。至此如
果不出任何错误的话,就代表连接建立成功,之后就可以进行对数据库的查询或者将处理好的数
据框以数据表的形式存入数据库操作。本例中仅给出查询的样例,其他操作请参考 RODBC 的
帮助文档。