python 연결 데이터베이스 보고서
2118 단어 python 의 길
python oracle , sql , ; , sql,
#!/usr/bin/python
#coding=utf8
### ,
import cx_Oracle as cx_ora
import os
#os.environ['NLS_LANG']="SIMPLIFIED CHINESE_CHINA.UTF8"
os.environ['NLS_LANG']="AMERICAN_AMERICA.AL32UTF8"
def connDB(username='dbaro',passwd='VgcAv1f4JNRvqMokXS9v',dbdomain='192.168.54.21',port='1521',sid='slave'):
tns=cx_ora.makedsn(dbdomain,port,sid) # makedsn tns_name
conn=cx_ora.connect(username,passwd,tns)
return conn
def closeDB(conn):
conn.close()
def queryColumn(conn,sql):
cur=conn.cursor() ##
cur.execute(sql)
desc=cur.description
cur.close()
return desc
def queryRecord(conn,sql):
cur=conn.cursor()
cur.execute(sql)
records=cur.fetchall()
cur.close()
return records
def deleteData(conn,sql):
cur=conn.cursor()
cur.execute(sql)
cur.close()
conn.commit()
def insertDatas(conn, sql, results): ## ,
cur = conn.cursor()
cur.prepare(sql)
cur.executemany(None, results)
cur.close()
conn.commit()
def writeRecord(conn,readfn):
fobj=open(readfn,'r')
sqls=fobj.read().split(';')
fobj.close ##
###conn=connDB() ##
for incre in range(len(sqls)-1): ## sql
columns=queryColumn(conn,sqls[incre])
for item in range(len(columns)):
print("%-18s" %(columns[item][0])),
##print os.linesep
print
records=queryRecord(conn,sqls[incre])
for record in records:
for colvalue in record:
print("%-20s" %(str(colvalue))),
##print os.linesep
print
print
##closeDB(conn) ##
print
fobj.close()