首页 > 技术文章 > Notes-这两天要连的数据库! sql server & oracle

zoeding 2019-11-29 11:19 原文

三个步骤:

Step 1-创建ODBC数据源;

Step 2-install.packages('RODBC') ;

Step 3-编写连接测试脚本

 

(1)创建ODBC数据源

控制面板->系统和安全->管理工具->ODBC数据源(64位)->系统DSN,点击添加按钮,

接着选择安装数据源驱动程序 SQL Server,点击完成

 

填写名称和服务器,名称用于R连接需要用到的database,比如这里填入myData,

sqlserver的服务器名可以在登陆sqlserver的可视化界面那里找到

 

接着用户身份连接sqlserver

 

 点击【测试数据源】

测试成功之后,完成创建ODBC数据源,继续下一步!

 

(2)在RStudio的Console,install.packages('RODBC')

复制代码
> install.packages('RODBC')
Installing package into ‘C:/Users/lmei/Documents/R/win-library/3.5’
(as ‘lib’ is unspecified)
trying URL 'https://cran.rstudio.com/bin/windows/contrib/3.5/RODBC_1.3-15.zip'
Content type 'application/zip' length 879575 bytes (858 KB)
downloaded 858 KB

package ‘RODBC’ successfully unpacked and MD5 sums checked

The downloaded binary packages are in
    C:\Users\lmei\AppData\Local\Temp\Rtmp6Fwdfk\downloaded_packages
复制代码

(3)编写R脚本,ConnectSqlServer.R(‘myData’为第一步创建ODBC数据源时填写的名称),代码如下,运行代码

library('RODBC')
myConn <- odbcConnect('myData',uid='sa',pwd='123456')
count = sqlQuery(myConn,"select count(*) from tb_test")
print(count)

console输出

library('RODBC')
myConn<-odbcConnect('myData',uid='sa',pwd='123456')
count = sqlQuery(myConn,"select count(*) from tb_test")
print(count)

  

1.设置"ODBC数据源(64位)"

图1:控制面板>管理工具>ODBC数据源(64位)

图2:有些设置,自己要记得,红字中的代码会用到。

 

2.代码部分

复制代码
> library(RODBC)  ##加载RODBC包,没有成功的请先下载安装install.packages("RODBC")
> con<-odbcConnect("oracle",uid="testuser",pwd="testuser",believeNRows=FALSE) ##建立Oracle连接
> emp1<-sqlQuery(con,"select * from EMP") ##sqlQuery可带查询语句
> sqlFetch(con,'EMP')  ##sqlFetch可根据表名,获取Oracle中的表(注意,这里表名在单引号中,双引号会报错) 
> odbcClose(con) ##关闭连接 EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
1 7369 SMITH CLERK 7902 1980-12-17 800 NA 20 2 7499 ALLEN SALESMAN 7698 1981-02-20 1600 300 30 3 7521 WARD SALESMAN 7698 1981-02-22 1250 500 30
····

推荐阅读