数据库

本类阅读TOP10

·SQL语句导入导出大全
·SQL Server日期计算
·SQL语句导入导出大全
·SQL to Excel 的应用
·Oracle中password file的作用及说明
·MS SQLServer OLEDB分布式事务无法启动的一般解决方案
·sqlserver2000数据库置疑的解决方法
·一个比较实用的大数据量分页存储过程
·如何在正运行 SQL Server 7.0 的服务器之间传输登录和密码
·SQL中两台服务器间使用连接服务器

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
oracle大数据量的导入和导出

作者:未知 来源:月光软件站 加入时间:2005-5-13 月光软件站

在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);
 .............




相关文章

相关软件