import sys
import os
import cx_Oracle
reload(sys)
sys.setdefaultencoding(
'utf-8')
os.environ[
'NLS_LANG'] =
'SIMPLIFIED CHINESE_CHINA.UTF8'
class OracleHelp:
def __init__(self, host, user, pwd, sid, port=1521):
self.host = host
self.port = port
self.user = user
self.pwd = pwd
self.sid = sid
self.conn = self.__get_conn__()
def __get_conn__(self):
return cx_Oracle.connect(self.user, self.pwd,
'{0}:{1}/{2}'.
format(self.host, self.port, self.sid))
def GetList(self, sql):
cur = self.conn.cursor()
cur.execute(sql)
resList = cur.fetchall()
self.conn.close()
return resList
def ExecNonQuery(self, sql):
cur = self.conn.cursor()
cur.execute(sql)
self.conn.commit()
self.conn.close()
def GetList_test(self, sql):
cur = self.conn.cursor()
result = cur.execute(sql)
title = [i[
0]
for i
in cur.description]
title.insert(
0,
'ROWNUM')
g =
lambda k:
"%-8s" % k
title =map(g,title)
for column_name
in title:
print column_name+
'\t',
print
i=
1
for row
in result.fetchmany(
100):
print str(i)+
'\t',
for k
in map(g,row):
print k+
'\t',
print
i+=
1
self.conn.close()
sqlCa = OracleHelp(
'192.168.*.*',
'系统管理员',
'password',
'server')
strsql =
'''''SELECT * FROM CLIMB.财务管理_实付款 '''
res = sqlCa.GetList_test(strsql)