Python 읽 기와 쓰기 및 백업 Oacle 데이터베이스 작업 예제
3487 단어 PythonOacle 데이터베이스
최근 프로젝트 에 서 는 Python 을 사용 하여 Oacle 을 호출 하여 읽 기와 쓰기 작업 을 실현 하고 많은 구 덩이 를 밟 아 힘 들 게 이 루어 졌 습 니 다.성능 이 어떤 지 는 먼저 말 하지 않 고,방법 이 있 으 면 나중에 조절 하 자.지금 코드 와 주의 점 을 기록 하 세 요.
1.필요 한 Python 도구 모음
cx_Oracle,pandas,콘 솔 을 통 해 사용 할 수 있 습 니 다
pip
설치(컴퓨터 에 설치 되 어 있 음)2.조회 조작 실현
#
import pandas as pd
import cx_Oracle
# : ,
import os
os.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_CHINA.UTF8'
# dataframe
def query(table)
host = "127.0.0.1" # ip
port = "1521" #
sid = "test" #
dsn = cx_Oracle.makedsn(host, port, sid)
#scott ,tiger ( )
conn = cx_Oracle.connect("scott", "tiger", dsn)
#SQL , ,
sql = 'select * from '+ table
# pandas read_sql , dataframe
results = pd.read_sql(sql,conn)
conn.close
return results
test_data = query(test_table) #
3.삽입 작업 실현
#
import pandas as pd
import cx_Oracle
#
def input_to_db(data,table):
host = "127.0.0.1" # ip
port = "1521" #
sid = "test" #
dsn = cx_Oracle.makedsn(host, port, sid)
#scott ,tiger ( )
conn = cx_Oracle.connect("scott", "tiger", dsn)
#
cursor = connection.cursor()
#sql , %s , ora-01036
query = "INSERT INTO"+table+"(name,gender,age) VALUES ('%s', '%s', '%s')"
#
for i in range(len(data)):
name= data.ix[i,0]
gender= data.ix[i,1]
age= data.ix[i,2]
# sql
cursor.execute(query % (name,gender,age))
connection.commit()
#
cursor.close()
connection.close()
#
#
test_data = pd.DataFrame([[' ',' ',18],[' ',' ',18]],index = [1,2],columns=['name','gender','age'])
#
input_to_db(test_data,test_table1)
4.Python 백업 Oracle 데이터베이스
#!/usr/bin/python
#coding=utf-8
import threading
import os
import time
#
user = 'username'
#
passwd = 'password'
#
savepath = '/home/oracle/orcl_bak/'
#
tables = ' tables=department,employee'
#
circle = 2.0
#
global bak_command
bak_command = 'exp '+user+'/'+passwd + ' file=' + savepath
def orclBak():
now = time.strftime('%Y-%m-%d %H:%M:%S')
command = bak_command + now + '.dmp' + tables
print command
if os.system(command) == 0:
print ' '
else:
print ' '
global t
t = threading.Timer(circle, orclBak)
t.start()
t = threading.Timer(circle, orclBak)
t.start()
더 많은 Python 관련 내용 에 관심 이 있 는 독자 들 은 본 사이트 의 주 제 를 볼 수 있 습 니 다.,,,,,,,,,,,,본 논문 에서 말 한 것 이 여러분 의 Python 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Python의 None과 NULL의 차이점 상세 정보그래서 대상 = 속성 + 방법 (사실 방법도 하나의 속성, 데이터 속성과 구별되는 호출 가능한 속성 같은 속성과 방법을 가진 대상을 클래스, 즉 Classl로 분류할 수 있다.클래스는 하나의 청사진과 같아서 하나의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.