# -*- coding: utf-8 -*-
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')
#print title
#格式化字符串
g = lambda k:"%-8s" % k
title =map(g,title)
for column_name in title:
print column_name+'\t',
print
#输出查询结果,只查询100条
i=1
for row in result.fetchmany(100): #: result.fetchall()
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)
结果如下
python 链接 ORACLE 数据库,并打印数据.解决中文乱码问题
最新推荐文章于 2023-06-15 18:23:26 发布