oracle大資料量的匯入和匯出

來源:互聯網
上載者:User
oracle|資料
在oracle中批量資料的匯出是藉助sqlplus的spool來實現的。批量資料的匯入是通過sqlload來實現的。大量資料的匯出部分如下:/*************************** *  sql指令碼部分 demo.sql begin **************************//************************** * @author meconsea * @date 20050413 * @msn meconsea@hotmail.com * @Email meconsea@163.com **************************/

//##--markup html:html格式輸出,預設為off

//##--autocommit:自動認可insert、update、delete帶來的記錄改變,預設為off

//##--define:識別命令中的變數首碼符,預設為on,也就是'&',碰到變數首碼符,後面的字串作為變數處理.

set colsep' ';                       //##--域輸出分隔字元

set echo off;                            //##--顯示start啟動的指令碼中的每個sql命令,預設為on

set feedback off;                        //##--回顯本次sql命令處理的記錄條數,預設為on      

set heading off;                         //##--輸出域標題,預設為on

set pagesize 0;                          //##--輸出每頁行數,預設為24,為了避免分頁,可設定為0。

set linesize 80;                         //##--輸出一行字元個數,預設為80

set numwidth 12;                         //##--輸出number類型域長度,預設為10

set termout off;                         //##--顯示指令碼中的命令的執行結果,預設為on

set timing off;      //##--顯示每條sql命令的耗時,預設為off

set trimout on;                          //##--去除標準輸出每行的拖尾空格,預設為off

set trimspool on;                        //##--去除重新導向(spool)輸出每行的拖尾空格,預設為off

spool C:\data\dmczry.txt;               

select trim(czry_dm),trim(swjg_dm),trim(czry_mc) from dm_czry;

spool off;

EOF

/*********************** * demo.sql end ***********************/ 在資料匯入的時候採用sqlload來調用,在該部分調用的時候用java來調用sqlload。sqlload包括ctl控制檔案。例如:/********************* * meconsea  ctl ********************/ load data infile 'C:\data\dmczry.txt' replace into table DM_CZRY fields terminated by X'09' (CZRY_DM,SWJG_DM,CZRY_MC) /******************** * end * 注釋:裡面的replace可以改為append *******************/  java程式如下:在java程式用可以根據需求寫成一個bat檔案。 把資料庫的配置和檔案的路徑寫到一個properties檔案。/************************* * ide properties ************************/Dserver=test/test@SJJZsqlldr=D:\\oracle\\ora92\\bin\ QLLDR.EXE

ctldmczry=C:\\data\\ctl\\dmczry.ctltxtdmczry=C:\\data\\dmczry.txt

寫個PropertyBean.java來操作properties檔案。(偷懶不寫了!)用DmCzry.java來把記錄匯入db中。部分代碼如下:

/**************************** * 代碼摘要 * ***************************/ .............. sqlldr = pb.getSqlldr(); txt = pb.getTxtdmczry(); ctl = pb.getCtldmczry(); Dserver= pb.getDserver();   Process processCmd = Runtime.getRuntime().exec(sqlldr+" "+cmdStr); .............


相關文章

Beyond APAC's No.1 Cloud

19.6% IaaS Market Share in Asia Pacific - Gartner IT Service report, 2018

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。