基于python連接oracle導(dǎo)并出數(shù)據(jù)文件
python連接oracle,感覺(jué)table_list文件內(nèi)的表名,來(lái)卸載數(shù)據(jù)文件
主腳本:
import osimport loggingimport sysimport configparserimport subprocessimport cx_Oracle#判斷輸入?yún)?shù)個(gè)數(shù)class param(): def check_para(self): if len(sys.argv) != 1: print('請(qǐng)輸入正確的參數(shù):yyyymmdd') exit(1) else: print('繼續(xù)執(zhí)行')#根據(jù)配置文件獲取登錄信息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('沒(méi)有那個(gè)配置文件') sys.exit(4) #聲明使用全局變量 global username,password,ip,dbsid username=dbinfo[0] password=dbinfo[1] ip=dbinfo[2] dbsid=dbinfo[3] loginfo.info(username+password+ip+dbsid) #導(dǎo)出表數(shù)據(jù)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('開(kāi)始導(dǎo)出數(shù)據(jù): 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配置文件內(nèi)容:
db.ini
[db_oracle]username=c##scottpassword=tigerip=192.168.1.250dbsid=orcl
表名字的配置文件:
table_list
BONUSDEPTEMPLEAD_TABLESALGRADET1TB_USERTESTXGJXGJ_2
運(yùn)行結(jié)果:
[oracle@master2 tmp]$ python3 c.py 繼續(xù)執(zhí)行0 rows exported at 2019-01-22 17:51:51, size 0 MB.output file BONUS.dat closed at 0 rows, size 0 MB.0 rows exported at 2019-01-22 17:51:52, size 0 MB.4 rows exported at 2019-01-22 17:51:52, size 0 MB.output file DEPT.dat closed at 4 rows, size 0 MB.0 rows exported at 2019-01-22 17:51:52, size 0 MB.12 rows exported at 2019-01-22 17:51:52, size 0 MB.output file EMP.dat closed at 12 rows, size 0 MB.0 rows exported at 2019-01-22 17:51:52, size 0 MB.10 rows exported at 2019-01-22 17:51:52, size 0 MB.output file LEAD_TABLE.dat closed at 10 rows, size 0 MB.0 rows exported at 2019-01-22 17:51:52, size 0 MB.5 rows exported at 2019-01-22 17:51:52, size 0 MB.output file SALGRADE.dat closed at 5 rows, size 0 MB.0 rows exported at 2019-01-22 17:51:52, size 0 MB.5 rows exported at 2019-01-22 17:51:52, size 0 MB.output file T1.dat closed at 5 rows, size 0 MB.0 rows exported at 2019-01-22 17:51:52, size 0 MB.10 rows exported at 2019-01-22 17:51:52, size 0 MB.output file TB_USER.dat closed at 10 rows, size 0 MB.0 rows exported at 2019-01-22 17:51:52, size 0 MB.8 rows exported at 2019-01-22 17:51:52, size 0 MB.output file TEST.dat closed at 8 rows, size 0 MB.0 rows exported at 2019-01-22 17:51:52, size 0 MB.9 rows exported at 2019-01-22 17:51:52, size 0 MB.output file XGJ.dat closed at 9 rows, size 0 MB.0 rows exported at 2019-01-22 17:51:52, size 0 MB.8 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.log2019-01-22 17:51:51,858 -mylogger -INFO - c##scotttiger192.168.1.250orcl2019-01-22 17:51:51,858 -mylogger -INFO - 開(kāi)始導(dǎo)出數(shù)據(jù): exportquery= sqluldr2 user=c##scott/[email protected]:1521/orcl query='select * from BONUS;' head=no file=BONUS.dat field=0x03 record=0x030x0a safe=yes2019-01-22 17:51:51,949 -mylogger -INFO - 02019-01-22 17:51:51,949 -mylogger -INFO - 開(kāi)始導(dǎo)出數(shù)據(jù): exportquery= sqluldr2 user=c##scott/[email protected]:1521/orcl query='select * from DEPT;' head=no file=DEPT.dat field=0x03 record=0x030x0a safe=yes2019-01-22 17:51:52,038 -mylogger -INFO - 02019-01-22 17:51:52,038 -mylogger -INFO - 開(kāi)始導(dǎo)出數(shù)據(jù): exportquery= sqluldr2 user=c##scott/[email protected]:1521/orcl query='select * from EMP;' head=no file=EMP.dat field=0x03 record=0x030x0a safe=yes2019-01-22 17:51:52,129 -mylogger -INFO - 02019-01-22 17:51:52,129 -mylogger -INFO - 開(kāi)始導(dǎo)出數(shù)據(jù): exportquery= sqluldr2 user=c##scott/[email protected]:1521/orcl query='select * from LEAD_TABLE;' head=no file=LEAD_TABLE.dat field=0x03 record=0x030x0a safe=yes2019-01-22 17:51:52,299 -mylogger -INFO - 02019-01-22 17:51:52,300 -mylogger -INFO - 開(kāi)始導(dǎo)出數(shù)據(jù): exportquery= sqluldr2 user=c##scott/[email protected]:1521/orcl query='select * from SALGRADE;' head=no file=SALGRADE.dat field=0x03 record=0x030x0a safe=yes2019-01-22 17:51:52,401 -mylogger -INFO - 02019-01-22 17:51:52,402 -mylogger -INFO - 開(kāi)始導(dǎo)出數(shù)據(jù): exportquery= sqluldr2 user=c##scott/[email protected]:1521/orcl query='select * from T1;' head=no file=T1.datfield=0x03 record=0x030x0a safe=yes2019-01-22 17:51:52,490 -mylogger -INFO - 02019-01-22 17:51:52,490 -mylogger -INFO - 開(kāi)始導(dǎo)出數(shù)據(jù): exportquery= sqluldr2 user=c##scott/[email protected]:1521/orcl query='select * from TB_USER;' head=no file=TB_USER.dat field=0x03 record=0x030x0a safe=yes2019-01-22 17:51:52,578 -mylogger -INFO - 02019-01-22 17:51:52,578 -mylogger -INFO - 開(kāi)始導(dǎo)出數(shù)據(jù): exportquery= sqluldr2 user=c##scott/[email protected]:1521/orcl query='select * from TEST;' head=no file=TEST.dat field=0x03 record=0x030x0a safe=yes2019-01-22 17:51:52,665 -mylogger -INFO - 02019-01-22 17:51:52,665 -mylogger -INFO - 開(kāi)始導(dǎo)出數(shù)據(jù): exportquery= sqluldr2 user=c##scott/[email protected]:1521/orcl query='select * from XGJ;' head=no file=XGJ.dat field=0x03 record=0x030x0a safe=yes2019-01-22 17:51:52,771 -mylogger -INFO - 02019-01-22 17:51:52,771 -mylogger -INFO - 開(kāi)始導(dǎo)出數(shù)據(jù): exportquery= sqluldr2 user=c##scott/[email protected]:1521/orcl query='select * from XGJ_2;' head=no file=XGJ_2.dat field=0x03 record=0x030x0a safe=yes2019-01-22 17:51:52,856 -mylogger -INFO - 0
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. IntelliJ IDEA設(shè)置默認(rèn)瀏覽器的方法2. idea自定義快捷鍵的方法步驟3. Django中如何使用Channels功能4. IntelliJ IDEA調(diào)整字體大小的方法5. IntelliJ IDEA導(dǎo)出項(xiàng)目的方法6. python中復(fù)數(shù)的共軛復(fù)數(shù)知識(shí)點(diǎn)總結(jié)7. PHP腳本的10個(gè)技巧(8)8. IntelliJ IDEA配置Tomcat服務(wù)器的方法9. IntelliJ IDEA設(shè)置背景圖片的方法步驟10. jsp網(wǎng)頁(yè)實(shí)現(xiàn)貪吃蛇小游戲
