读取oracle注释

# coding=utf-8
__author__ = ‘jspdba‘
u‘‘‘
读取oracle注释
‘‘‘
import cx_Oracle    # 导入模块

SQL=r"""
select * from user_col_comments t where 1=1
and t.comments is not null
and 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()
时间: 2024-11-05 14:41:28

读取oracle注释的相关文章

利用ADO让普通人用excel读取oracle数据库表的通用办法

Ref:http://blog.csdn.net/iamlaosong/article/details/8465177 Excel通过ADO方式连接到Oracle并操作Oracle给那些编程能力不强的人带来很大的福音,结合着Excel的数据处理与图表制作,就能很轻松地处理一些常规工作. 日常工作中需要查询各种数据,而且不断变化,处理这些数据的人不是技术人员,不会连接数据库自己查询,通过下面的办法就可以让技术人员编辑好包含查询语句的excel文件,让管理人员自己输入条件取数了. 我的方法是编辑需要

Oracle DBA的神器: PRM恢复工具,可脱离Oracle软件运行,直接读取Oracle数据文件中的数据

PRM 全称为ParnassusData Recovery Manager ,由 诗檀软件自主研发,拥有独立的软件著作权. PRM可以独立于Oracle软件运行,直接从Oracle数据文件中抽取表上的数据. 当以下几种场景中,都可以用上PRM: 无备份或者备份不可用情况下,数据表被意外truncate掉或者DROP掉 由于数据库损坏,导致的数据打不开 无法OPEN 数据块存在损坏,Oracle无法读取出数据 数据文件存在损坏,或者数据文件头信息不一致 等等 以上这些问题中,用户均可以考虑使用PR

ado.net读取oracle结果集

1 /** 2 3 4 5 */ ---oracle中使用游标返回数据,在ado.net中进行读取 6 PROCEDURE ISDT_VEHICLE_TASK_CHECK(P_CARNUM IN VARCHAR2, 7 CUR_OUT OUT sys_refcursor 8 ) IS 9 G_HAS_TASK varchar2(40); -- 任务编号 10 BEGIN 11 12 select max(t.task_id) 13 into G_HAS_TASK 14 from T_ISDT_V

JSP读取Oracle数据库里的图片Blob字段并显示在页面上<转>

java代码:首先定义一个读取Oracle数据库的Blob字段并把字节写入一个输出流的方法. 1 public static void writeImg(OutputStream os) { 2 Connection con; 3 try { 4 con = ConnectionFactory.getConnection(); 5 Statement stmt = con.createStatement(); 6 ResultSet rs = stmt.executeQuery("select

C#读取Oracle Spatial的sdo_geometry

oracle的sdo_geometry中内置get_wkt和get_wkb两个方法. 以数据库表geoms为例,此表中有id和geometry两列 try { OracleConnection con = new OracleConnection(conStr); OracleCommand cmd = new OracleCommand(@"SELECT sdo_geometry.get_wkt(geometry) FROM geoms WHERE id= 1902 ", con);

scala实现读取Oracle数据

用scala实现读取oracle数据 增加oralce的jar包后 package cn.bigdata.scala.oracle import java.sql.{DriverManager, Connection, ResultSet} object ConnectOracle { val user="youname" val password = "youpwd" val conn_str = "jdbc:oracle:thin:@ip:1521:d

JAVA读取Oracle数据库BLOB字段数据文件并保存到本地文件

******JAVA读取Oracle数据库BLOB字段数据文件并保存到本地文件****** package com.bo.test; import java.io.FileOutputStream; import java.io.InputStream; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import

C#应用程序中读取Oracle数据库

前言 最近的任务就是开发了一个功能,要从供应商那边读取数据,然后拿过来,处理以后放到我们自己的数据库中.供应商那边是Oracle数据库,其实不管什么数据我想都差不多,于是我就开始了.由于在家里写的博客,那些截图都放在公司电脑了,希望能通过文字让大家明白,多有不周还请原谅. 过程 第一种方法:一开始我是用的.net里面自带的那个System.Data.OracleClient;引用.然后把Oracle客户端装了,结果不行.Oracle客户端装的是及时版本.执行后不断的报错,什么无法标示了,版本得多

cx_Oracle读取Oracle数据库中文乱码问题解决

在使用cx_Oracle模块读取Oracle数据库中的中文记录时,返回值皆为?,后google得此佳文,遂问题得以解决,特此记之. Oracle数据库版本是10g,字符集是AL32UTF8. 编写的python脚本中需要加入如下几句: import os os.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_CHINA.UTF8' 这样可以保证select出来的中文显示没有问题. 要能够正常的insert和update中文,还需要指定python源文件的字符集