`

python oracle数据库脚本导出

阅读更多

import os,sys
import cx_Oracle


def search(sqlstr,**argv):
    cursor.execute(sqlstr,argv)
    return cursor.fetchall()


def getcols(tabname):
    cols=search('select column_name from user_tab_columns where table_name=:V1 order by column_id',V1=tabname)
    s=''
    for col in cols:
        s=s+','+col[0]
    return s[1:]
   
if __name__ == '__main__':
    if sys.argv.__len__() != 3:
        print """Please Input Connect Arguments And SQL Export Directory.\nEx: oracle_export.py aa/bb@testdb e:\sqlfile"""
        exit(-1)
    desdir = sys.argv[2] .
    if not os.path.isdir(desdir):
        print "Target directory is not Exists."
        exit(-3)
       
    try:
        conn = cx_Oracle.Connection(sys.argv[1].split('/')[0],sys.argv[1].split('/')[1].split('@')[0],sys.argv[1].split('@')[-1])
    except cx_Oracle.DatabaseError,strerr:
        print "Connect DataBase Failure. \n%s" % strerr
        exit(-2)
       
    cursor = conn.cursor()

    objs=search('select distinct type,name from user_source')
   

    for obj in objs:
        f=open(os.path.join(desdir,obj[0].replace(' ','_')+' '+obj[1])+'.sql','w')
        str=search('select text from user_source where name=:v1 and type=:v2 order by line',V1=obj[1],V2=obj[0])
        f.write('CREATE OR REPLACE\n')
        for i in str:
            f.write(i[0])
        f.write('/\n')
        f.close()
   

    objs=search('select view_name,text from user_views')
    for obj in objs:
        f=open(os.path.join(desdir,'VIEW '+obj[0])+'.sql','w')
        f.write('CREATE OR REPLACE\n')
        f.write('VIEW ( '+getcols(obj[0])+' ) AS\n')
        f.write(obj[1])
        f.write('/\n')
        f.close()
   
    cursor.close()
    conn.close()

分享到:
评论

相关推荐

    导出数据库脚本

    在IT行业中,数据库是存储和管理数据的核心工具,而“导出数据库脚本”是一个常见的操作,用于备份或迁移数据库中的结构和数据。这个过程通常涉及到数据库管理系统(DBMS)提供的功能,例如SQL Server的`Generate ...

    各种导出脚本工具_oracle_oracle导出csv_oracle数据导出脚本_txt导出为dbf_

    在Oracle数据库管理中,数据导出是常见的任务,特别是在数据分析、备份或系统迁移时。本文将详细介绍如何使用Oracle工具和脚本将数据导出为不同的文件格式,如CSV、DBF,并探讨FTP自动下载脚本的实现。 首先,让...

    oracle备份脚本-Linux.rar

    "oracle备份脚本-Linux.rar"这个压缩包文件就包含了使用这两种工具进行数据库备份的脚本。 RMAN是Oracle数据库内置的备份和恢复工具,它可以执行自动备份、增量备份、合成全备份等多种备份策略。RMAN备份通常与控制...

    基于python连接oracle导并出数据文件

    本文将详细讲解如何使用Python连接Oracle数据库并导出数据文件。 首先,我们引入了`param`类,用于检查命令行参数。在这个例子中,程序期望一个参数,即日期(格式为`yyyymmdd`),用于后续的数据处理。如果输入...

    oracle数据表导出为word文档

    1. **连接数据库**:首先,你需要通过工具或脚本连接到Oracle数据库。这需要提供数据库服务器地址、端口号、服务名、用户名和密码等信息。 2. **编写SQL查询**:根据需求,编写SQL SELECT语句,用于从数据库中选择...

    利用GDAL2.1.2库 把shp文件导入 oracle数据库中 例子

    在实际操作中,你可能需要编写一个脚本或程序来自动化这个过程,例如使用Python结合GDAL/OGR库。"GDALTest"可能是一个示例代码文件,展示了如何实现这个功能。在调试和优化时,务必注意错误处理,确保数据的一致性和...

    Ecxel数据导入Oracle 数据库中

    Excel作为常用的数据整理工具,有时需要与更强大的数据库系统如Oracle进行交互,实现数据的导入导出。本文将深入探讨如何将Excel数据导入到Oracle数据库中,以及涉及到的相关技术点。 首先,我们要理解Excel文件的...

    系统数据库脚本

    在文件名"T3PUFFS_gfsf2data.dmp"中,我们可以推断这可能是一个数据库的导出文件,通常使用某种数据导入/导出工具(如Oracle的expdp或MySQL的mysqldump)生成。这种文件包含了数据库对象的结构和数据,用于备份或...

    图书管理系统数据库脚本

    例如,Python的cv2和cv3库可能是用于图像处理,与图书封面或条形码识别有关,而顺序.txt可能是数据导入导出的脚本。这些编程接口使开发者能够方便地与数据库交互,执行CRUD(创建、读取、更新、删除)操作。 总结,...

    Python实现异构数据库中表的记录数比对.pdf

    3. 使用Python创建多个线程:在源数据库(Oracle)和目标数据库(MySQL)上分别统计视图中表的记录数。利用Python的多线程能力,可以同时在两个数据库上执行统计任务,提高效率。 4. 导出结果到Excel文件:将统计...

    Mysql转oracle工具

    这个工具专注于将MySQL的数据库结构和数据转换为Oracle数据库兼容的格式。下面将详细解释这个过程涉及的知识点。 1. **SQL语言的差异**: MySQL和Oracle都是SQL数据库管理系统,但它们对SQL语法的实现有所不同。...

    数据库导入导出dump.txt

    在本案例中,"数据库导入导出dump.txt" 可能是指一个教程或者笔记,记录了如何使用文本格式(如SQL脚本)对数据库进行备份和恢复的过程。该资源可能来自博客文章,链接为 ,但实际内容未提供,所以我们只能基于一般...

    计算机软件-编程源码-oracle数据库备份的例子.zip

    这些脚本通常用Perl、Python、bash或其他脚本语言编写,调用Oracle提供的实用工具,如`rman`(恢复管理器)来执行备份操作。RMAN是Oracle数据库的一个内置组件,用于执行物理和逻辑备份,以及数据库恢复。 2. **...

    轻松将Excel的xls格式文件导入到Oracle数据库

    比如使用Microsoft Office的“连接到数据库”功能,可以直接将Excel数据导出到Oracle。 4. **ODBC/JDBC连接**:通过设置ODBC数据源或使用JDBC驱动,编写编程语言(如Python、Java)脚本来实现数据导入。这种方式...

    自动备份oracle数据库

    逻辑备份则是通过导出和导入数据来实现,通常使用的是Oracle的expdp和impdp命令。 在“自动备份Oracle数据库”的场景中,我们通常会采用RMAN(恢复管理器)工具,这是Oracle自带的一个强大备份和恢复工具。RMAN可以...

    数据库中保存文件导出工具

    - 选择数据源:确定要导出的数据库,这可能是关系型数据库(如MySQL、SQL Server、Oracle)或非关系型数据库(如MongoDB、CouchDB)。 - 选择数据范围:确定要导出的数据范围,可以是整个数据库、单一表或特定查询...

    SQL和Oracle数据导出到EXCEL

    1. **连接数据库**:首先,你需要建立一个连接到SQL或Oracle数据库的接口,这可以通过编写SQL查询脚本、使用数据库管理工具(如SQL Server Management Studio或Oracle SQL Developer)或者利用编程语言(如Python、...

    导出数据库(Oracle)表结构为excel(含注释)(源码)

    总的来说,将Oracle数据库的表结构导出为Excel,不仅方便了数据的查看和分享,也是数据库管理和维护过程中的一种实用技巧。通过源码实现这一功能,不仅可以定制化导出内容,还可以提高工作效率,是IT专业人员必备的...

    自动生成数据库插入脚本

    1. 使用数据库管理工具:许多数据库管理工具(如MySQL Workbench、Navicat等)内置了数据导出功能,其中就包括生成插入脚本的选项。用户只需选择目标表,工具会自动列出所有记录并生成相应的SQL语句。 2. 编程实现...

    照片批量导入导出

    1. **Oracle数据库**:Oracle是全球广泛使用的大型关系型数据库管理系统,它支持各种类型的数据存储,包括文本、图像和二进制大对象(BLOB)。在本场景中,"照片"以BLOB类型存储在Oracle数据库中,用于存储和管理...

Global site tag (gtag.js) - Google Analytics