一、准备工作
(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) #显示名称为**** 的数据库中的所有数据表