当前位置导航:炫浪网>>网络学院>>编程开发>>Oracle教程

在Oracle中大数据量的导入和导出


  在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/test@SJJZ
  sqlldr=D:\\oracle\\ora92\\bin\\SQLLDR.EXE
  
  ctldmczry=C:\\data\\ctl\\dmczry.ctl
  txtdmczry=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);
相关内容
赞助商链接