一个python 循环执行oracle sql 的demo

来源:互联网 发布:完美dota2 有mac版 编辑:程序博客网 时间:2024/06/05 07:00



# -*- coding: utf-8 -*-
import ConfigParser
import string, os, sys
import cx_Oracle
import time

cf = ConfigParser.ConfigParser()
cf.read(".\db.conf")

#read by type
db_tnsname = cf.get("db", "db_tnsname")
db_user = cf.get("db", "db_user")
db_pass = cf.get("db", "db_pass")
interval = cf.getint("db","interval")

print "db_tnsname:", db_tnsname
print "db_user:", db_user
print "db_pass:", db_pass
print "interval:", interval


print '##########show oracle db event ##############'
db1=cx_Oracle.connect(db_user,db_pass, db_tnsname)
##获取游标
cursor = db1.cursor()
sql1='select event,count(*) from v$session group by event order by 2'
print sql1
#执行查询
while (1 == 1):
    time.sleep(interval)
    print '----------------------------------------------------------'
    print('|'+time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time()))+"|")
    print '----------------------------------------------------------'
    cursor.execute(sql1)
    result = cursor.fetchall()
    for row in result:
         print row
    print('----------end---------------------------------------------\n')
cursor.close
db1.close()


########################

##db.conf 为oracle连接配置文件,包含sql 语句执行间隔配置

#db_user 为数据库连接用户

#db_pass为数据库连接密码

#db_tnsmae 为数据库连接串: tnsname 别名  OR 10.10.10.18:1521/lixora

#interval 为sql 命令执行间隔

#---------------------------------------------------------------------------------

[db]
db_user = system
db_pass = oracle
db_tnsname = nmd
interval = 1

--------------------------------------------------------------------


原创粉丝点击