r 连oracle数据库,R语言—连接Oracle数据库

R语言—连接Oracle数据库

本教程会讲解两种方法,第一种方法较为简单,且中文不容易出现乱码。第二种方法,较为复杂,和java的jdbc连接数据库操作类似。

操作环境:

系统:windows10 64位

数据库:Oracle11g  用户名:testuser

案例用表:emp

R语言版本:3.4.0  64位

RStudio版本:1.0.143

方法一(推荐):

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

f3ce36c882bda2161d53ed6000c83c83.png

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

ad3841ca740258c14d9256cd7f8487c4.png

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

2.代码部分

> library(RODBC)  ##加载RODBC包,没有成功的请先下载安装install.packages("RODBC")

> con

> emp1

> 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

····

方法一结束!!!

方法二:

1.将驱动"ojdbc6_g.jar"放到R的工作空间中,不知道R工作空间的可以通过在RStudio中输入"getwd()"查看路径。

994203fa6f3b4396cafba322c9b5c898.png

图3:"ojdbc6_g.jar"文件在Oracle11g的目录中能找到,无需下载

2.代码部分

> library(RJDBC)  ##加载"RJDBC"包,如果失败了。请安装该包install.packages("RJDBC")

> drv

> conn

> EMP

> table1

> head(EMP,3)  ##查看前三行

EMPNO ENAME      JOB  MGR            HIREDATE  SAL COMM DEPTNO

1  7369 SMITH    CLERK 7902 1980-12-17 00:00:00  800   NA     20

2  7499 ALLEN SALESMAN 7698 1981-02-20 00:00:00 1600  300     30

3  7521  WARD SALESMAN 7698 1981-02-22 00:00:00 1250  500     30

> head(table1,3) ##查看前三行

EMPNO ENAME      JOB  MGR            HIREDATE  SAL COMM DEPTNO

1  7369 SMITH    CLERK 7902 1980-12-17 00:00:00  800   NA     20

2  7499 ALLEN SALESMAN 7698 1981-02-20 00:00:00 1600  300     30

3  7521  WARD SALESMAN 7698 1981-02-22 00:00:00 1250  500     30

> names(table1)=iconv(names(table1),"UTF-8","GBK")  ##若是表中列名为中文,读取时出现乱码,可用这句来搞定乱码情况

方法二结束!!!

完 谢谢观看

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值