
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)结果如下
发表评论
最新留言
第一次来,支持一个
[***.219.124.196]2025年03月28日 02时00分29秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Java 設計模式 - 建造者模式
2019-03-01
ES6 JavaScript 重新認識 Promise
2019-03-01
分享九款不同页面404源码html
2019-03-01
404页圈小猫游戏代码
2019-03-01
好看清新卡通人物404单页网站源码
2019-03-01
简洁仿t猫404页html源码
2019-03-01
Kotlin实现冒泡排序
2019-03-01
NodeJS下TypeScript环境安装
2019-03-01
汽车后市场,小程序为何独占鳌头
2019-03-01
短视频小程序,互联网新风口
2019-03-01
Mybatis-plus代码生成器模板(MySQL数据库)
2019-03-01
使用redis管理Mybatis的二级缓存
2019-03-01
使用redis管理Mybatis-Plus的二级缓存
2019-03-01
Mybatis中的SQL语句等于、不等于和模糊查询的语法
2019-03-01
使用 github 搜索
2019-03-01
java有包名的类访问没有包名的类
2019-03-01
整型关键字的散列映射
2019-03-03
多位水仙花数-python(出现运行超时?不妨用减法计算)
2019-03-03
地下迷宫探索(后两个测试点无法通过?这里有你想要的答案)
2019-03-03