상세 컨텐츠

본문 제목

[R-QA] R에서 Oracle Database 연동은 어떻게 하나요?

빅데이터/R with Database Fundamentals

by datasa 2022. 4. 15. 13:48

본문

# Oracle Datasese HR세션에 접속, 데이터를 가져와서 RStudio에서 데이터 확인하기

 

0. 사전 확인

 1) Oradle Datase 설치  (사전에 hr user의 pwd는 hr로 변경)

 2) R & RStudio 설치

 3) JDK 설치

 

1. RStudio에서 관련 패키지 설치

install.packages("odbc")             # jdbc 패치활용시 필요

install.packages("RJDBC")           # 해당 DB 드라이버 객체 생성시 필요

install.packages("rJava")             # RJDBC 패키지를 사용하게 위해서는 반드시 설치
install.packages("DBI")               # dbConnect 함수 사용 (DB connection & session)

 

2. 패키지 로딩

library(odbc);library(DBI);library(rJava);library(RJDBC)

 

3. DB드라이버 생성(ojdbc8.jar 파일로딩필요) 
# 오라클 11g : ojdbc6.jar

# 오라클 18c : ojdbc8.jar

 

# 11g

jdbc_R <- JDBC(driverClass = “oracle.jdbc.OracleDriver”,

classPath = “오라클설치위치.../product/11.2.0/server/jdbc/lib/ojdbc6.jar”)       

 

# 18c
jdbc_R <- JDBC(driverClass = "oracle.jdbc.OracleDriver",
               classPath = "오라클설치위치.../product/18.0.0/dbhomeXE/jdbc/lib/ojdbc8.jar")

 

4. Target DB connection & session   <sid: XE, userid: hr, pwd: hr>

db_con <- dbConnect(jdbc_R, "jdbc:oracle:thin:@ip주소:1521:XE","hr","hr")      

또는

db_con <- dbConnect(jdbc_R, "jdbc:oracle:thin:@localhost:1521:XE","hr","hr")

 

5. Test Query   # hr.jobs 테이블에서 job_id와 job_title 컬럼내용 조회

qq <- “select job_id, job_title from jobs”

rs <- dbGetQuery(db_con, qq)

head(rs, 10)

 

6. 가져온 결과물 파일로 저장하기

write.csv(rs, file = "hr_jobs.csv")

 

 

 

관련글 더보기

댓글 영역