R语言中用jdbc连接数据库

一、项目用的是R语言,中间有用jdbc连接数据的步骤,数据库为Td数据库,本来用到了TeradataR的包,最后还是统一用了jdbc自带的方法来接收返回值和执行查询语句。

首先加载RJDBC包:

指令:library(RJDBC)


①连接方式:jdbc()、dbConnect()

函数jdbc(驱动,地址)得到驱动

函数dbConnect(驱动,ip地址/数据库名,登录名,登录密码)得到连接


方法:dbSendQuery

dbSendQuery(mls_conn,sql_text),第一个参数是连接名字,第二个参数为增、删、改的语句


方法:dbGetQuery

t_result <- dbGetQuery(mls_conn,sql_text)

第一个参数是连接名字,第二个是查语句。


④方法:dbDisconnect()关闭连接

dbDisconnect(mls_conn)


二、本项目的代码为:

#############################################   读取环境变量并将其设置为当前目录
print("step 1: set current directory")
v_mlshome <- Sys.getenv("MLS_HOME")
setwd(v_mlshome)

#############################################   读取数据库连接信息
print("step 2: read db link info")
inifile <- read.table("dbconf.ini")

# 依次读取IP,用户,密码
in_host <- as.character(inifile[2,1])
in_user <- as.character(inifile[3,1])
in_pass <- as.character(inifile[4,1])

#############################################   数据库连接

print("step 3: connect to db")
library(RJDBC)
mls_drv <- JDBC("com.teradata.jdbc.TeraDriver","./lib/terajdbc4.jar")#加载驱动,第一个参数是驱动名称,第二个参数是驱动地址
mls_drv <- JDBC("com.teradata.jdbc.TeraDriver","./lib/tdgssconfig.jar")#加载驱动,第一个参数是驱动名称,第二个参数是驱动地址
mls_conn <-dbConnect(mls_drv,paste0("jdbc:teradata://",in_host,"/CLIENT_CHARSET=EUC_CN,TMODE=TERA,

CHARSET=ASCII"),in_user,in_pass)

#############################################   


你可能感兴趣的:(R语言中用jdbc连接数据库)