# coding=utf-8__author__ = 'jspdba'u'''读取oracle注释'''import cx_Oracle # 导入模块SQL=r"""select * from user_col_comments t where 1=1and t.comments is not nulland t.table_name = '@TABLE'"""words=["custom","code","trans","mode","date","confirm","balance","amount","after", "type","area","game","flow","is","big","win","status","flag","num","client", "reward","id","before","sum","check","time","name","channel","father","content", "open","bet","cash","pay","open"]def conn(): db = cx_Oracle.connect('username', 'password', '192.168.1.101:1521/orcl') #建立连接,3个参数分开写 print db.version return db# 美化def prettify(str=None): global words if str!=None and len(str)>0: for word in words: str = str.replace(word,word.capitalize()) return str[0].lower()+str[1:]def run(table=None,db=None): if table!=None: global SQL table = table.upper() SQL = SQL.replace("@TABLE",table) try: if db==None: db = conn() tableComment(table,db=db,closeDb=False) cursor = db.cursor() #建立一个cursor cursor.execute(SQL) # 执行一条sql # row=cursor.fetchone() #取一行结果,元组(a,b,c,d) row=cursor.fetchall() #获取所有结果,列表[(a,b,c,d),(e,f,g,h),...] print '=='*100 for x in row: print prettify(x[1].lower())+"\t"*4+x[2] # cursor.rowcount() #获取输出记录数量 print '=='*100 except Exception,e: print e finally: cursor.close() db.close() # sql = "insert into person(name, age, telephone) values(%s, %s, %s)" # tmp = (('ninini', 89, '888999'), ('koko', 900, '999999')) # conn.executemany(sql, tmp) #执行多条sql"""打印表注释"""def tableComment(tableName=None,sql="select * from user_tab_comments",db=None,closeDb=True): if not tableName==None: sql="select * from user_tab_comments where TABLE_NAME='%s'" %(tableName.upper()) try: if db==None: db = conn() cursor = db.cursor() #建立一个cursor cursor.execute(sql) # 执行一条sql row=cursor.fetchone() if row: print prettify(row[0].lower())+"\t"*4+row[2] if row[2]!=None else '' except Exception , e: print e finally: cursor.close() if closeDb: db.close()# 打印单张表注释及字段注释run("saleDetail")# 打印单张表注释# tableComment("saleDetail")# 打印所有表注释(无字段注释)# tableComment()