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