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