oracle大數據量的導入和導出
2024-08-29 13:28:53
供稿:網友
 
在oracle中批量數據的導出是借助sqlplus的spool來實現的。批量數據的導入是通過sqlload來實現的。大量數據的導出部分如下:/*************************** *  sql腳本部分 demo.sql begin **************************//************************** * @author meconsea * @date 20050413 * @msn [email protected] * @email [email protected] **************************/
//##--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/[email protected]=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); .............
網站運營seo文章大全提供全面的站長運營經驗及seo技術!