R语言批量将Oracle数据库数据插入到MySQL数据库中

加载包

library(DBI)
library(RMySQL)
library(rJava)
library(RJDBC)

设置Oracle读取驱动

setwd(“C:\Users\Administrator\Desktop\oracle”)

在这里插入图片描述

配置连接Oracle,并读取表

drv<-JDBC(“oracle.jdbc.driver.OracleDriver”,“ojdbc6.jar”, identifier.quote=""") ##java中JDBC的套路
conn<-dbConnect(drv,“jdbc:oracle:thin:@10.113.113.177:1521:XE”,“SZTN”,“sztn”) ##建立一个连接
table1<-dbGetQuery(conn,“SELECT * FROM T_SYN_YJXX_ZK01”) ##根据sql记录获取Oracle中表的数据
table2<-dbGetQuery(conn,“SELECT * FROM T_SYN_SSZB_ZK01”) ##根据sql记录获取Oracle中表的数据

str(table1)

创建MySQL数据库连接,并插入数据到MySQL

con <- dbConnect(MySQL(), host=“10.113.125.17”, dbname=“tan_test”, user=“root”, password=“root”)
colnames(table1) <- iconv(colnames(table1),from=“UTF-8”,to=“GBK”)
colnames(table2) <- iconv(colnames(table2),from=“UTF-8”,to=“GBK”)
dbWriteTable(con,“auto_coal_waring”,table1,overwrite=T,row.names=FALSE)
dbWriteTable(con,“auto_coal_analysis”,table2,overwrite=T,row.names=FALSE)
dbWriteTable(con,“auto_coal_waring_history”,table1,append=T,row.names=FALSE)
dbWriteTable(con,“auto_coal_analysis_history”,table2,append=T,row.names=FALSE)

注意事项

数据库字符编码不同,在不同的系统运行环境中,编码会出现差异,存在乱码的情况,需要根据系统进行设置。