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、DBF,并探讨FTP自动下载脚本的实现。 首先,让...
"oracle备份脚本-Linux.rar"这个压缩包文件就包含了使用这两种工具进行数据库备份的脚本。 RMAN是Oracle数据库内置的备份和恢复工具,它可以执行自动备份、增量备份、合成全备份等多种备份策略。RMAN备份通常与控制...
本文将详细讲解如何使用Python连接Oracle数据库并导出数据文件。 首先,我们引入了`param`类,用于检查命令行参数。在这个例子中,程序期望一个参数,即日期(格式为`yyyymmdd`),用于后续的数据处理。如果输入...
1. **连接数据库**:首先,你需要通过工具或脚本连接到Oracle数据库。这需要提供数据库服务器地址、端口号、服务名、用户名和密码等信息。 2. **编写SQL查询**:根据需求,编写SQL SELECT语句,用于从数据库中选择...
在实际操作中,你可能需要编写一个脚本或程序来自动化这个过程,例如使用Python结合GDAL/OGR库。"GDALTest"可能是一个示例代码文件,展示了如何实现这个功能。在调试和优化时,务必注意错误处理,确保数据的一致性和...
Excel作为常用的数据整理工具,有时需要与更强大的数据库系统如Oracle进行交互,实现数据的导入导出。本文将深入探讨如何将Excel数据导入到Oracle数据库中,以及涉及到的相关技术点。 首先,我们要理解Excel文件的...
在文件名"T3PUFFS_gfsf2data.dmp"中,我们可以推断这可能是一个数据库的导出文件,通常使用某种数据导入/导出工具(如Oracle的expdp或MySQL的mysqldump)生成。这种文件包含了数据库对象的结构和数据,用于备份或...
例如,Python的cv2和cv3库可能是用于图像处理,与图书封面或条形码识别有关,而顺序.txt可能是数据导入导出的脚本。这些编程接口使开发者能够方便地与数据库交互,执行CRUD(创建、读取、更新、删除)操作。 总结,...
3. 使用Python创建多个线程:在源数据库(Oracle)和目标数据库(MySQL)上分别统计视图中表的记录数。利用Python的多线程能力,可以同时在两个数据库上执行统计任务,提高效率。 4. 导出结果到Excel文件:将统计...
这个工具专注于将MySQL的数据库结构和数据转换为Oracle数据库兼容的格式。下面将详细解释这个过程涉及的知识点。 1. **SQL语言的差异**: MySQL和Oracle都是SQL数据库管理系统,但它们对SQL语法的实现有所不同。...
在本案例中,"数据库导入导出dump.txt" 可能是指一个教程或者笔记,记录了如何使用文本格式(如SQL脚本)对数据库进行备份和恢复的过程。该资源可能来自博客文章,链接为 ,但实际内容未提供,所以我们只能基于一般...
这些脚本通常用Perl、Python、bash或其他脚本语言编写,调用Oracle提供的实用工具,如`rman`(恢复管理器)来执行备份操作。RMAN是Oracle数据库的一个内置组件,用于执行物理和逻辑备份,以及数据库恢复。 2. **...
比如使用Microsoft Office的“连接到数据库”功能,可以直接将Excel数据导出到Oracle。 4. **ODBC/JDBC连接**:通过设置ODBC数据源或使用JDBC驱动,编写编程语言(如Python、Java)脚本来实现数据导入。这种方式...
逻辑备份则是通过导出和导入数据来实现,通常使用的是Oracle的expdp和impdp命令。 在“自动备份Oracle数据库”的场景中,我们通常会采用RMAN(恢复管理器)工具,这是Oracle自带的一个强大备份和恢复工具。RMAN可以...
- 选择数据源:确定要导出的数据库,这可能是关系型数据库(如MySQL、SQL Server、Oracle)或非关系型数据库(如MongoDB、CouchDB)。 - 选择数据范围:确定要导出的数据范围,可以是整个数据库、单一表或特定查询...
1. **连接数据库**:首先,你需要建立一个连接到SQL或Oracle数据库的接口,这可以通过编写SQL查询脚本、使用数据库管理工具(如SQL Server Management Studio或Oracle SQL Developer)或者利用编程语言(如Python、...
总的来说,将Oracle数据库的表结构导出为Excel,不仅方便了数据的查看和分享,也是数据库管理和维护过程中的一种实用技巧。通过源码实现这一功能,不仅可以定制化导出内容,还可以提高工作效率,是IT专业人员必备的...
1. 使用数据库管理工具:许多数据库管理工具(如MySQL Workbench、Navicat等)内置了数据导出功能,其中就包括生成插入脚本的选项。用户只需选择目标表,工具会自动列出所有记录并生成相应的SQL语句。 2. 编程实现...
1. **Oracle数据库**:Oracle是全球广泛使用的大型关系型数据库管理系统,它支持各种类型的数据存储,包括文本、图像和二进制大对象(BLOB)。在本场景中,"照片"以BLOB类型存储在Oracle数据库中,用于存储和管理...