网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > Oracle教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
本月文章推荐
.Lilo 使 用 详 解.
.讲解Oracle数据库TNS常见错误的解.
.Oracle数据库中管理表空间和数据.
.Oracle数据库技术(34).
.历史回顾:Oracle数据库表与视图.
.Oracle--SQL行列转换实战.
.Oracle9i初始化参数中文说明(一.
.和权限有关的表介绍.
.漫谈oracle中的空值.
.维珍航空联合甲骨文TCS开RFID试验.
.卸载oracle表结构到文本中的脚本.
.旧 Microsoft Access 数据的新生.
.快速掌握一个获取单据编号存储过.
.名字中包含了什么?:改善的表空.
.产生undo的测试.
.讲解Oracle数据库应用程序中RAID.
.使用Toad的Explain Plan.
.使用 SQL*Plus 访问数据库.
.TestKing Oracle 1z0-131 V6.
.SQL Server和Oracle数据锁定比较.

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

发表日期:2008-2-9



  在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@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);
上一篇:Oracle9i中如何监视索引并清除监视信息 人气:918
下一篇:ORACLE数据库问题诊断方法 :常见错误篇 人气:615
浏览全部Oracle教程的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐