python 链接 ORACLE 数据库,并打印数据.解决中文乱码问题
发布日期:2021-05-06 23:23:03 浏览次数:15 分类:技术文章

本文共 1643 字,大约阅读时间需要 5 分钟。

# -*- coding: utf-8 -*-import sysimport os import cx_Oraclereload(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)
结果如下
上一篇:C#,asp.net,ashx处理session
下一篇:Executor框架

发表评论

最新留言

第一次来,支持一个
[***.219.124.196]2025年03月28日 02时00分29秒