티스토리 뷰

반응형

 

1. oracle OR oracle_client 설치 (path 설정 필요)


 참고글 : [R] R, Oracle 연동


Oracle이 설치되어 있다면 다음 단계로 !



2. cx_oracle 설치   

cx_oracle 모듈을 컴퓨터에 저장해야 하기 때문에, cmd mode에서 설치를 진행합니다.


> conda install -c https://conda.anaconda.org/anaconda cx_oracle



계속적인 진행 여부를 묻는다면 yes !


용량이 생각보다(?) 높기 때문에, 약간의 대기시간이 필요합니다.



마지막 3개의 transaction이 모두 done 으로 완료되면 설치 성공 !



3. Python & Oracle 연동

3-1) 모듈 로딩

import cx_Oracle


* 한글이 깨질 경우 오라클 연결 전 실행

import os
os.putenv('NLS_LANG', 'KOREAN_KOREA.KO16MSWIN949')


3-2) 오라클 연결

con1 = cx_Oracle.connect("scott/oracle@192.168.0.00:1521/orcl")   # cmd mode의 ipconfig 명령어로 IP 확인

 

3-3) sql 실행 및 데이터 불러오기

df_emp = pd.read_sql("select * from emp",con=con1)   # 데이터 수집 과정

 

3-4) 화면에 출력하는 방법  # 화면에만 출력

cur = con.cursor()

cur.execute("select * from emp")

 

for row in cur:

           print(row)

cur.close()

con.close()

 


+. 쿼리 함수 생성

# 파이썬에서 쿼리문으로 Oracle을 읽을 수 있는 함수

def get_query(sql, ip='127.0.0.1', port='1521', sid='orcl',id='scott', passwd='oracle') :

    import pandas as pd

    import cx_Oracle

    import os

    os.putenv('NLS_LANG', 'KOREAN_KOREA.KO16MSWIN949')

    txt = 'cx_Oracle.connect("'+ id + '/' + passwd + '@' + ip + ':' + port +'/' + sid + '")'

    con = eval(txt)

    return pd.read_sql(sql, con=con)


std = get_query('select * from student')





#. Q

1. 오라클에 저장된 데이터 수집

import pandas as pd


import cx_Oracle

import os

os.putenv('NLS_LANG', 'KOREAN_KOREA.KO16MSWIN949')


con1 = cx_Oracle.connect("scott/oracle@192.168.0.13:1521/orcl")

professor = pd.read_sql("select * from professor",con=con1)

professor.head()

professor.dtypes



2. 오라클에 저장된 데이터 출력 
import cx_Oracle
import os
os.putenv('NLS_LANG', 'KOREAN_KOREA.KO16MSWIN949')

con1 = cx_Oracle.connect("scott/oracle@192.168.0.13:1521/orcl")

cur = con1.cursor()
cur.execute("select * from professor")
 
for row in cur:
           print(row)
cur.close()
con1.close()





반응형

'Python > Install' 카테고리의 다른 글

[Python] 아나콘다(Anaconda) 설치 & 사용법  (2) 2019.01.30
[Python] Python(파이썬) 설치하기  (0) 2019.01.22
댓글
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday