일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 파이썬
- 논문리뷰
- GNN
- 백준
- 알고리즘
- 코딩테스트
- uncertainty
- R
- 베이지안
- pandas
- 데이터분석
- Graph
- 텍스트마이닝
- YarinGal
- 크롤링
- 텍스트분석
- Crawling
- 빅데이터
- VAE
- 우분투
- dropout
- DATA
- 불확실성
- AI
- selenium
- PYTHON
- 리눅스
- bayesian
- pytorch
- 강화학습
- Today
- Total
끄적거림
[R쓸신잡]DB연결 in R with ROracle package 본문
실무에서 데이터분석을 하다보면 필요한 데이터를 DB에서 수시로 내려받아야할 순간이 온다.
하지만 언제까지 DB 툴에서 Excel로 내려 받을 수는 없으니 DB와 직접 연결하여 R 자체에서 데이터를 불러와보자.
본 코드와 내용은 Oracle 기준이고 Oracle DB와 연동할 수 있는 방법은 총 3가지(패키지)가 있다.
1) RJDBC
2) RODBC
3) ROracle
대망의 마지막 ROracle package!!
ROracle의 경우 해당 document는 아래 url로 확인하면 된다.
ROracle document: https://cran.r-project.org/web/packages/ROracle/ROracle.pdf
ROracle은 설치가 굉장히 힘들고 그 과정에서 에러도 많이 발생하는 것으로 알고 있다. 내가 작성한 순서대로 해보고 잘되길 기도해보자....
1. Install Rtools & Java
아마 R을 어느정도 사용해본 User라면 Rtools정도는 설치가 되어있을 것이라 생각된다. 하지만 그러지 않은 분들을 위해 간략히 설치 과정을 적자면 해당 URL에 접속하여 자신의 PC 환경에 맞는 rtools를 설치한다.
Rtools: https://cran.r-project.org/bin/windows/Rtools/
또한, Java도 설치가 되어있어야 한다. java도 Oracle의 언어이니 필수적이라고 할 수 있다. 첫번째 시간에서처럼 RJDBC와 마찬가지로 환경변수 세팅도 잘 되어 있어야한다. 만약 환경변수를 세팅해주었음에도 불구하고 제대로 작동이 안된다면 R 자체에서 환경변수를 설정해보는 시도를 해보자.
2. Install DBI & ROracle package
해당 패키지들을 설치하고 임포트하자. library까지 잘 된다면 성공인 것이다! 잘 안된다면 내가 알고 있는 방법으로는 해결책이 없다. 수많은 컴퓨터에 설치를 해보았고, 그 중에 어떤 컴퓨터는 별다른 세팅없이 설치가 되는 반면, 어떤 컴퓨터에서는 리셋을 시켜보아도 작동하지 않을 때가 있다. 개발이 범용적인 측면에서 이루어지지 않은 것 같다는 생각일 뿐이다.
install.packages(c("DBI", "ROracle"))
library(DBI)
library(ROracle)
3. Create Driver
ROracle의 드라이버 생성은 아래 코드처럼 매우 간단하다. dbDriver( )함수를 사용하고, 안에 "Oracle"이라는 단어만 적어주면 드라이버 객체가 생성된다.
driv <- dbDriver("Oracle")
4. DB Connection
이후 과정은 RJDBC와 동일하다고 보면 된다.
connect.string <- paste(
"(DESCRIPTION=",
"(ADDRESS=(PROTOCOL = TCP)(HOST = **Host name**)(PORT = **port**))",
"(CONNECT_DATA=(SERVER = **보안**)",
"(SERVICE_NAME = **DB name**)))", sep = "")
conn <- dbConnect(driv, username = "**ID**", password = "**PWD**", dbname = connect.string)
data <- dbGetQuery(conn, "select * from table_name")
'R쓸신잡' 카테고리의 다른 글
[R쓸신잡] multi package install, import(library), update in R (0) | 2020.06.19 |
---|---|
[R쓸신잡]DB연결 in R 패키지(RJDBC, RODBC, ROracle) benchmark (0) | 2020.06.18 |
[R쓸신잡]DB연결 in R with RODBC package (0) | 2020.06.16 |
[R쓸신잡]DB연결 in R with RJDBC package (1) | 2020.06.15 |
data.table 패키지 유용하게 사용하기 1편 (0) | 2020.02.06 |