[Python/Oracle] cx_Oracle timeout 설정하기

2022. 4. 10. 22:48·Programming/Python
반응형

Python 에서 DB 연결을 해서 Oracle에 접속하게 하는 패키지 cx_Oracle.
작은 데이터를 불러오는데는 크게 문제가 안되지만, 대용량 데이터를 불러올 때에는 오래 걸리는 시간 탓에 간혹 타임아웃 에러가 나고는 한다.
이유는 python 안에서 주어진 시간 안에 oracle 이 구동되어야 하는데 그 시간을 넘을 때 나는 애러이다.
그럴 때에는 timeout 시간을 설정하여 늘릴 수 있다.

1. 타임아웃 에러문

타임아웃 에러가 나는 문장은 대게 아래와 같다
DB Error : DPI-1080 : connection was closed by ORA-3156
Traceback (most recent call last): ~~~
cx_Oracle.DatabaseError: DPI-1010:not connected
위와 같은 문장은 연결 중 시간이 다되어 끊어진 경우를 이야기 한다.

2. 타임아웃 설정하기

cx_Oracle에서 타임아웃을 설정하는 방법은 아래와 같다.
conn.callTimeout = timeout으로 설정한다. 이 때 timeout은 밀리세컨즈(1/1000초)로 관리한다.

## 예제문

import cx_Oracle
conn = cx_Oracle.connect({userID}, {userPW}, {HostIP})
conn.callTimeout = 300  # 300밀리세컨즈(300/1000초)

cursor = conn.cursor()
sql = '''select * from TABLEA'''
cursor.execute(sql)
conn.commit()
conn.close()



위와 같이 설정을 하면 타임아웃으로 인해 생기는 에러를 막을 수 있다.

반응형

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

[python] 대용량 csv 불러오는 패키지 dask 간단 리뷰  (2) 2022.09.30
[Python] inspect 모듈의 getsource() 함수  (0) 2022.06.12
[Python] HTTP web server log dataframe으로 불러오기 (with pandas)  (0) 2022.02.13
[Python] 주피터 노트북 테마 변경하기  (3) 2021.05.17
[Python]Pytorch - RuntimeError:Error(s) in loading state_dict ... : Missing key(s) in state_dict: ... Unexpected key(s) in state_dict:... GPU 병렬 사용 문제  (0) 2021.04.30
'Programming/Python' 카테고리의 다른 글
  • [python] 대용량 csv 불러오는 패키지 dask 간단 리뷰
  • [Python] inspect 모듈의 getsource() 함수
  • [Python] HTTP web server log dataframe으로 불러오기 (with pandas)
  • [Python] 주피터 노트북 테마 변경하기
자동화먹
자동화먹
많은 사람들에게 도움이 되는 생산적인 기록하기
    반응형
  • 자동화먹
    자동화먹의 생산적인 기록
    자동화먹
  • 전체
    오늘
    어제
    • 분류 전체보기 (144)
      • 생산성 & 자동화 툴 (30)
        • Notion (24)
        • Obsidian (0)
        • Make.com (1)
        • tips (5)
      • Programming (37)
        • Python (18)
        • Oracle (6)
        • Git (13)
      • AI Study (65)
        • DL_Basic (14)
        • ML_Basic (14)
        • NLP (21)
        • Marketing&Recommend (4)
        • chatGPT (0)
        • etc (12)
      • 주인장의 생각서랍 (10)
        • 생각정리 (4)
        • 독서기록 (6)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    빅데이터분석
    git commit
    딥러닝
    nlp
    cnn
    seq2seq
    pytorch
    머신러닝
    Github
    Python
    노션
    git
    Google Cloud Platform
    데이터분석
    빅데이터
    데이터베이스
    gcp
    Transformer
    파이토치로 시작하는 딥러닝 기초
    dl
    python기초
    notion
    ML
    GPT
    노션첫걸음
    LSTM
    Jupyter notebook
    파이토치
    기초
    자연어처리
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
자동화먹
[Python/Oracle] cx_Oracle timeout 설정하기
상단으로

티스토리툴바