Oracle導(dǎo)入時(shí)需要用到兩個(gè)相關(guān)程序
在Oracle數(shù)據(jù)庫(kù)的工作中我們常會(huì)遇到把TXT文件導(dǎo)入到Oracle里進(jìn)行問(wèn)題處理,只有這樣才可以對(duì)TXT里的數(shù)據(jù)進(jìn)行分析與處理。下面就時(shí)將完整的導(dǎo)入以及處理方法列出,以供大家分享。
當(dāng)做參照吧。大多來(lái)自其他部門(mén)的數(shù)據(jù)都是以.xls形式存在的,首先我們需要將其中的列數(shù)據(jù)進(jìn)行處理,存入TXT中。
可以直接將這列數(shù)據(jù)復(fù)制到Notepad++之類的文本編輯器中,這樣的目的是為了防止產(chǎn)生DOS下的換行符的存在,否則在導(dǎo)入Oracle數(shù)據(jù)庫(kù)的時(shí)候不會(huì)成功。復(fù)制進(jìn)來(lái)的這列數(shù)據(jù)的最后一行總會(huì)是空行,需要將其刪除。
生成一個(gè)TXT文件,我們生成的是1.txt?,F(xiàn)在將1.txt通過(guò)FTP上傳到Linux你所使用的腳本目錄下,以方便我們的導(dǎo)入。
在導(dǎo)入的時(shí)候我們需要使用兩個(gè)程序,一個(gè)是導(dǎo)入腳本daoru.sh一個(gè)是導(dǎo)入控制文件daoru.ctl。Oracle導(dǎo)入腳本文件的全部程序,我們導(dǎo)入的列只有一個(gè),所以只需要建立一列TABLE PHONE_NO,就可滿足我們的需求,若是列數(shù)更多,可以自行添加。
控制文件daoru.ctl。我們需要做的是執(zhí)行daoru.sh腳本,以生成臨時(shí)表hh_tmp1,并插入一列PHONE_NO char(11)的字段,手機(jī)號(hào)碼為11位,我們?nèi)har(11)即可。
執(zhí)行之后,很快,我們的1.txt文件已經(jīng)導(dǎo)入到了數(shù)據(jù)庫(kù)的臨時(shí)表hh_tmp1中,由于在daoru.sh腳本中,我們已經(jīng)對(duì)導(dǎo)入的數(shù)據(jù)進(jìn)行了剔除重復(fù)的操作,所以下面只要按照我們的需要來(lái)提取出來(lái)我們想要的數(shù)據(jù)即可。
我們使用的是PLSQL Developer,PLSQL Developer所登錄的數(shù)據(jù)庫(kù)用戶必須與你在腳本中所使用的數(shù)據(jù)庫(kù)用戶一致,通過(guò)于原有數(shù)據(jù)庫(kù)表進(jìn)行連接,以實(shí)現(xiàn)獲取我們所需要的數(shù)據(jù)。
提取出兩列分別為PHONE_NO,BELONG_CODE,其中BELONG_CODE升序排列,以區(qū)分來(lái)自區(qū)域。還有一句就是想把1.txt轉(zhuǎn)換為excel格式,然后在windows打開(kāi)。但是在linux環(huán)境下執(zhí)行的語(yǔ)句。
- cat exp_imp_report.list|sed 's/|/\t/g' >1.xls
以上的相關(guān)內(nèi)容就是對(duì)Oracle導(dǎo)入的介紹,望你能有所收獲。
【編輯推薦】