电脑技术学习

详细讲解如何给导入文件加上时间戳标记

dn001
问:如何给导入文件加上时间戳标记?

答:请参考下文中介绍的两种方法:

1.在DOS下从系统获得时间戳

利用Dos命令取得时间戳:

C:>echo %date%

2007-12-31 星期一

C:>echo %date:~0,10%

2007-12-31

然后使用导出(exp)工具引用该时间戳就很容易了:

exp userid=eygle/eygle file=d:eygle%date:~0,
10%.dmp log=d:eygle%date:~0,10%.log

2.使用SQL脚本从数据库获得时间戳

注释:在NT下该命令的执行结果可能与Windows2000和WindowsXp上不同,没有NT的环境可以试验(此时只需""把date引用起来就可以了,如: "%date%")。

我们也可以使用如下的SQL方式获得时间戳.

首先编写一个doexp.sql脚本:

column today new_val dt
select to_char( sysdate, 'ddmmyyyy' ) today from dual;
host exp userid=eygle/eygle tables=emp 
file=exp_prod_&dt..exp log=exp_prod_&dt..log
exit

然后再编写一个start.bat批处理脚本调用doexp.sql脚本:

echo off
set oracle_sid=eygle
sqlplus eygle/eygle @doexp

执行结果如下:

E:IsIsTrainExp2>dir

驱动器 E 中的卷是 SWAPDK

卷的序列号是 F8BA-FCAC

E:IsIsTrainExp2 的目录

2007-12-07  15:14    <DIR> 
2007-12-07  15:14    <DIR> 
2007-08-26  15:18    170 doexp.sql
2007-12-07  15:12    4,096 exp_prod_07102003.exp
2007-12-07  15:12    335 exp_prod_07102003.log
2007-08-26  15:18    4,096 exp_prod_26082003.exp
2007-08-26  15:18    312 exp_prod_26082003.log
2007-12-07  15:42    4,096 exp_prod_30082003.exp
2007-08-30  17:09    335 exp_prod_30082003.log
2007-12-07  15:14    1,660 sqlnet.log
2007-12-07  15:12    60 start.bat
9 个文件         15,160 字节
2 个目录    674,652,160 可用字节