python连接数据库出报表
2015-12-28 15:19
225 查看
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()
相关文章推荐
- 解读python中SocketServer源码
- 读书笔记--python数据可视化--006_从数据库导入数据
- 读书笔记--python数据可视化--005_从数据库导入数据
- day①:python的变量及数据类型
- Python 遍历文件,字符串操作
- Python IDLE快捷键 汇总
- selenium+python 遍历select下拉框获取value值
- python 代码格式化工具:pep8ify
- 排序算法—归并排序算法分析与实现(Python)
- Python标准库05 存储对象 (pickle包,cPickle包)
- Python正则表达式
- 我的Python成长之路---第一天---Python基础(4)---2015年12月26日(雾霾)
- 可能是最简单的感知机算法
- Python 字符串
- Python ACCESS学习(二) 创建文件链接ACCESS数据库
- python 遍历文件夹和子目录抓出自己想用的文件类型
- 关于Python中的for循环控制语句
- Python -- 使用SMTP发送邮件
- Ubuntu14.04-Python2.7-Virtualenv-Django1.9-MySQL完整环境配置
- Python验证码识别处理实例