python连接oracle导出数据文件
生活随笔
收集整理的這篇文章主要介紹了
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导出数据文件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 3分钟教你用python制作一个简单词云
- 下一篇: Python中的format()函数