Python 사용 cxOracle Oracle Oracle 데이터베이스 연결
설치 cxOracle
pip 가 설치 되 어 있 지 않 으 면 IDE 를 다시 시작 하거나 홈 페이지 를 직접 열 어 설 치 를 다운로드 합 니 다. pycharm 을 사용 하면 그래 픽 인터페이스 에서 설 치 를 검색 합 니 다.
pip install -i https://pypi.douban.com/simple cx_oracle
oci. dll 다운로드
이것 이 없 으 면 Oacle 에 연결 할 수 없습니다... Navicat 으로 Oacle 에 연결 하 는 것 도 잘못 되 었 다 면 이 압축 해제 디 렉 터 리 를 다운로드 하여 Navicat 프로그램 루트 디 렉 터 리 에 넣 고 설정 할 수 있 습 니 다.
Oacle 홈 페이지 다운로드 페이지
코드
그 중 ocidir 가 다운로드 한 파일 의 압축 을 풀 어 주 는 디 렉 터 리 입 니 다. 디 렉 터 리 에는 oci. dll 파일 init 함수 의 판단 시스템 형식 Linux 에서 테스트 하지 않 고 사용 하기 어 려 우 면 스스로 수정 해 야 합 니 다.
cx_oracle 홈 페이지 cxOacle 공식 매 뉴 얼
ORACLE_OCI_DIR 은 다음 과 같은 형식 입 니 다.
ORACLE_OCI_DIR = 'E:\Projects\GitProject\Other\instantclient_12_2'
2018 년 6 월 22 일 다음 코드 의 오 류 를 업데이트 합 니 다.
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# Date: 2018-06-22 09:41:08
import cx_Oracle
import platform
import os
import settings
class ConnectOracleDatabase(object):
def __init__(self):
self.user = settings.DB_USER
self.password = settings.DB_PASSWORD
self.ip = settings.DB_IP
self.port = settings.DB_PORT
self.service_name = settings.DB_SERVICE
self.oci_path = settings.ORACLE_OCI_DIR
sys_version = platform.architecture()
if sys_version[1] is not 'WindowsPE':
os.environ['LD_LIBRARY_PATH '] = self.oci_path
else:
os.environ['PATH'] = os.environ['PATH'] + ';' + self.oci_path
#
os.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_CHINA.UTF8'
self.db_conn = None
self.db_cursor = None
self.create_connect()
def create_connect(self):
try:
self.db_conn = cx_Oracle.connect(self.user, self.password,
'%s:%s/%s' % (self.ip,
self.port,
self.service_name))
self.db_cursor = self.db_conn.cursor()
except Exception as error:
print("Error creating database connection: %s" % str(error))
def exec_sql_command(self, sql_command):
query_result = self.db_cursor.execute(sql_command)
return query_result # return , __init__
def __del__(self):
try:
self.db_cursor.close()
self.db_conn.close()
except AttributeError as error:
print(str(error))
oracle_obj = ConnectOracleDatabase()
sql = "select * from CJ_USER"
res = oracle_obj.exec_sql_command(sql)
for i in res.description:
print(i)
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.