python连接oracle导出数据文件
python连接oracle,感觉table_list文件内的表名,来卸载数据文件
主脚本:
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:579817333
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
import os
import logging
import sys
import configparser
import subprocess
import cx_Oracle#判断输入参数个数
class param():def check_para(self):if len(sys.argv) != 1:print("请输入正确的参数:yyyymmdd")exit(1)else:print("继续执行")#根据配置文件获取登录信息
class get_dbini():def get_db(self):config=configparser.ConfigParser()filepath="db.ini"if os.path.exists(filepath):config.read_file(open(filepath))dbinfo=[config.get("db_oracle","username"),\config.get("db_oracle","password"),\config.get("db_oracle","ip"),\config.get("db_oracle","dbsid")]else:loginfo.info("没有那个配置文件")sys.exit(4)#声明使用全局变量global username,password,ip,dbsidusername=dbinfo[0]password=dbinfo[1]ip=dbinfo[2]dbsid=dbinfo[3]loginfo.info(username+password+ip+dbsid)#导出表数据
class exp_date():def exp_table(self):with open('table_list','r') as f:list = f.readlines()for i in list:tablename = i.rstrip('\n')exportquery='sqluldr2 user='+username+'/'+password+'@'+ip+':1521/'+dbsid+' query="select * from '+tablename+';" head=no file='+tablename+'.dat field=0x03 record=0x030x0a safe=yes'loginfo.info("开始导出数据: exportquery= "+exportquery)flag= subprocess.check_call(exportquery,shell=True)loginfo.info(flag)#打印日志
class log_set():def logger_set(self):logger=logging.getLogger('mylogger')logger.setLevel(logging.DEBUG)fh=logging.FileHandler('a.log','w')fh.setLevel(logging.INFO)ch=logging.StreamHandler()ch.setLevel(logging.ERROR)formatter = logging.Formatter('%(asctime)s -%(name)s -%(levelname)s - %(message)s')fh.setFormatter(formatter)ch.setFormatter(formatter)logger.addHandler(fh)logger.addHandler(ch)return loggerif __name__=='__main__':loginfo=log_set().logger_set()param().check_para()get_dbini().get_db()exp_date().exp_table()
DB配置文件内容:
db.ini
[db_oracle]
username=c##scott
password=tiger
ip=192.168.1.250
dbsid=orcl
表名字的配置文件:
table_list
BONUS
DEPT
EMP
LEAD_TABLE
SALGRADE
T1
TB_USER
TEST
XGJ
XGJ_2
运行结果:
[oracle@master2 tmp]$ python3 c.py
继续执行
rows exported at 2019-01-22 17:51:51, size 0 MB.output file BONUS.dat closed at 0 rows, size 0 MB.
rows exported at 2019-01-22 17:51:52, size 0 MB.
rows exported at 2019-01-22 17:51:52, size 0 MB.output file DEPT.dat closed at 4 rows, size 0 MB.
rows exported at 2019-01-22 17:51:52, size 0 MB.
rows exported at 2019-01-22 17:51:52, size 0 MB.output file EMP.dat closed at 12 rows, size 0 MB.
rows exported at 2019-01-22 17:51:52, size 0 MB.
rows exported at 2019-01-22 17:51:52, size 0 MB.output file LEAD_TABLE.dat closed at 10 rows, size 0 MB.
rows exported at 2019-01-22 17:51:52, size 0 MB.
rows exported at 2019-01-22 17:51:52, size 0 MB.output file SALGRADE.dat closed at 5 rows, size 0 MB.
rows exported at 2019-01-22 17:51:52, size 0 MB.
rows exported at 2019-01-22 17:51:52, size 0 MB.output file T1.dat closed at 5 rows, size 0 MB.
rows exported at 2019-01-22 17:51:52, size 0 MB.
rows exported at 2019-01-22 17:51:52, size 0 MB.output file TB_USER.dat closed at 10 rows, size 0 MB.
rows exported at 2019-01-22 17:51:52, size 0 MB.
rows exported at 2019-01-22 17:51:52, size 0 MB.output file TEST.dat closed at 8 rows, size 0 MB.
rows exported at 2019-01-22 17:51:52, size 0 MB.
rows exported at 2019-01-22 17:51:52, size 0 MB.output file XGJ.dat closed at 9 rows, size 0 MB.
rows exported at 2019-01-22 17:51:52, size 0 MB.
rows exported at 2019-01-22 17:51:52, size 0 MB.output file XGJ_2.dat closed at 8 rows, size 0 MB.
查看日志:
[oracle@master2 tmp]$ more a.log
2019-01-22 17:51:51,858 -mylogger -INFO - c##scotttiger192.168.1.250orcl
2019-01-22 17:51:51,858 -mylogger -INFO - 开始导出数据: exportquery= sqluldr2 user=c##scott/tiger@192.168.1.250:1521/orcl query="select * from BONUS;" head=no file=BON
US.dat field=0x03 record=0x030x0a safe=yes
2019-01-22 17:51:51,949 -mylogger -INFO - 0
2019-01-22 17:51:51,949 -mylogger -INFO - 开始导出数据: exportquery= sqluldr2 user=c##scott/tiger@192.168.1.250:1521/orcl query="select * from DEPT;" head=no file=DEPT
.dat field=0x03 record=0x030x0a safe=yes
2019-01-22 17:51:52,038 -mylogger -INFO - 0
2019-01-22 17:51:52,038 -mylogger -INFO - 开始导出数据: exportquery= sqluldr2 user=c##scott/tiger@192.168.1.250:1521/orcl query="select * from EMP;" head=no file=EMP.d
at field=0x03 record=0x030x0a safe=yes
2019-01-22 17:51:52,129 -mylogger -INFO - 0
2019-01-22 17:51:52,129 -mylogger -INFO - 开始导出数据: exportquery= sqluldr2 user=c##scott/tiger@192.168.1.250:1521/orcl query="select * from LEAD_TABLE;" head=no fil
e=LEAD_TABLE.dat field=0x03 record=0x030x0a safe=yes
2019-01-22 17:51:52,299 -mylogger -INFO - 0
2019-01-22 17:51:52,300 -mylogger -INFO - 开始导出数据: exportquery= sqluldr2 user=c##scott/tiger@192.168.1.250:1521/orcl query="select * from SALGRADE;" head=no file=
SALGRADE.dat field=0x03 record=0x030x0a safe=yes
2019-01-22 17:51:52,401 -mylogger -INFO - 0
2019-01-22 17:51:52,402 -mylogger -INFO - 开始导出数据: exportquery= sqluldr2 user=c##scott/tiger@192.168.1.250:1521/orcl query="select * from T1;" head=no file=T1.datfield=0x03 record=0x030x0a safe=yes
2019-01-22 17:51:52,490 -mylogger -INFO - 0
2019-01-22 17:51:52,490 -mylogger -INFO - 开始导出数据: exportquery= sqluldr2 user=c##scott/tiger@192.168.1.250:1521/orcl query="select * from TB_USER;" head=no file=T
B_USER.dat field=0x03 record=0x030x0a safe=yes
2019-01-22 17:51:52,578 -mylogger -INFO - 0
2019-01-22 17:51:52,578 -mylogger -INFO - 开始导出数据: exportquery= sqluldr2 user=c##scott/tiger@192.168.1.250:1521/orcl query="select * from TEST;" head=no file=TEST
.dat field=0x03 record=0x030x0a safe=yes
2019-01-22 17:51:52,665 -mylogger -INFO - 0
2019-01-22 17:51:52,665 -mylogger -INFO - 开始导出数据: exportquery= sqluldr2 user=c##scott/tiger@192.168.1.250:1521/orcl query="select * from XGJ;" head=no file=XGJ.d
at field=0x03 record=0x030x0a safe=yes
2019-01-22 17:51:52,771 -mylogger -INFO - 0
2019-01-22 17:51:52,771 -mylogger -INFO - 开始导出数据: exportquery= sqluldr2 user=c##scott/tiger@192.168.1.250:1521/orcl query="select * from XGJ_2;" head=no file=XGJ
_2.dat field=0x03 record=0x030x0a safe=yes
2019-01-22 17:51:52,856 -mylogger -INFO - 0
python连接oracle导出数据文件相关推荐
- oracle 水晶报表开发,水晶报表连接Oracle做数据报表笔记
首先,新建一个水晶报表的文件,这个时候要给这个报表文件绑定一个oracle数据源, 选择右侧菜单的这个东西,选择"数据库专家",打开之后是这么一个界面: 选择建立新连接: 这个地方 ...
- 从Oracle导出数据到TXT文件从TXT文件导入数据到Oracle
如果是txt文件的数据导入oracle中,数据量大的话用pl/sql会卡死,那么就要用到sqlload命令. 前两天在做一个不算任务的任务,用shell脚本将数据库中的数据导出到文件,在万能的百度上找 ...
- python连接oracle数据库 插入clob类型数据
python连接oracle数据库 插入clob类型数据 连接数据库 import cx_Oracle as cx #导入模块 con = cx.connect('root', 'root123', ...
- python oracle 工具类,python连接Oracle工具类
上代码: # -*- coding:utf-8 -*- import cx_Oracle import pandas as pd class ORACLE(object): def __init__( ...
- python连接oracle
python连接oracle需要先根据oracle的版本到网上下载对应版本的instantclient,这个就自己去网上下载了,下载完了解压到某个文件夹即可. 然后在脚本的最前面加上这句:os.env ...
- Python 技术篇-连接oracle数据库并执行sql语句实例演示,python连接oracle数据库oci详细配置方法
Python 连接 Oracle 数据库 第一章:连接 oracle 数据与环境配置 ① 连接 oracle 数据库效果演示 ② oci 下载 ③ oci 配置 ④ 环境变量配置 ⑤ 检测是否有 or ...
- python连接本机oracle数据库吗,用Python连接Oracle数据库容易吗?
ello,大家好!本次介绍的内容是如何使用Python连接Oracle数据库!看起来很简单,但实际上就是这么简单.学习本节内容后,相信老铁们能用Python撸起你们那庞大的Oracle数据库了.Wel ...
- oracle数据导入表空间,ORACLE导入数据文件到指定的表空间
最近工作中碰见ORACLE导入数据文件到指定的表空间中的事,虽然导入成功了.但这个功能应该算是我们在工作中经常碰见的需求,所以在此作个记录,以后用到也方便查找. 下面直接贴操作流程! Microsof ...
- oracle10G导入导出数据文件
oracle10G导出数据文件: exp jfdzh/jfdzh@orcl file=/home/oracle/shiyan.dmp owner=jfdzh 导入数据文件: imp shiyan/sh ...
最新文章
- 深入Phtread(三):线程的同步-Condition Variables
- Hibernate:SQL查询 addScalar()或addEntity()
- 【Java】5.3 成员变量和局部变量
- UI设计师必知:link和@import引用css文件方法的区别
- 经典的K-means聚类算法
- wg运行内存装MySQL8_windows-安装mysql8的坑
- 在Java中安全地将long转换为int
- layout里添加xml文件没有在R.java里生成ID
- hive内置函数_Hive Query生命周期 —— 钩子(Hook)函数篇
- 什么是面向对象对象,什么是面向过程,什么是面向对象思想。
- 使用暴风激活激活系统,浏览器被劫持问题解决
- 雪球网股票用户评论爬虫
- 素数判断和大合数分解_素数合数分解公式与原理 质数秘密已解开
- Linux内核之进程管理
- Android仿keep运动轨迹动画,Android仿Keep运动休息倒计时圆形控件
- TB-RK1808M0最新固件烧录和驱动更新
- Vue3/ Vue3 组件通讯 -- 子传父 方法流程 总结
- java中所有import意思,java 程序中用到的所有类都必须使用 import 语句。
- 最强GPU助力,Imagination踏上新征途
- Down友庆新年,下载中心新版分享达人排行赛开始!【已结束】