R语言使用RJDBC包连接MySql、Oracle数据库

来源:互联网 发布:九一三事件知乎 编辑:程序博客网 时间:2024/05/16 14:48

一、准备工作

(1)安装并配置JDK环境,我的电脑里之前装过,所以这一步就直接省略了;

(2)下载对应数据库的JDBC驱动,注意,将该包放在R语言当前的工作目录中,工作目录可直接使用语句getwd()查询;

(3)安装RJDBC包;

二、数据库连接

下载对应MySql数据库的,注意,将该包放在R语言当前的工作目录中,工作目录可直接使用语句getwd()查询;

(1)连接MySql数据库

    我下载的驱动是mysql-connector-java-5.1.7-bin.jar

library(RJDBC)
drv <- JDBC("com.mysql.jdbc.Driver", "mysql-connector-java-5.1.7-bin.jar",identifier.quote = "`")    

conn <- dbConnect(drv,"jdbc:mysql://localhost/company","user","password")       # company为数据库名称

a <- dbGetQuery(conn,"select * from table")      #将table数据表中的所有数据存入名称为a的数据框

dbDisconnect(conn)  #关闭数据库连接

小错误:将第二行的jdbc敲成jbdc,一直出错,找个把小时才把问题找出来。

(2)连接Oracle数据库

library(RJDBC)

drv <- JDBC("oracle.dbc.driver.oracleDriver", "ojdbc6_g.jar",identifier.quote = "`")    

conn <- dbConnect(drv,"jdbc:oracle:thin:@172.0.0.1/abc","user","password")   #@后面输入服务器地址,abc为服务器名,user和password分别为用户名、密码

b <- dbGetQuery(conn,"select * from ABC111 where rownum < 50")   #查询 ABC111数据表中的前50行数据,将其保存到数据框b中

dbDisconnect(conn)  #关闭数据库连接


其他可用函数:

dbListTables(conn)    #显示名称为**** 的数据库中的所有数据表





                               



0 0