文件名已设定好,怎能会变动呢,基本上这样实现不了。建义还以job来实现

解决方案 »

  1.   

    楼上的,那程序做成什么给予windows调用呢,把解决方法写出来吧.
      

  2.   

    Unix下 Exp中文件名可以用参数定义,Win中好像就没有办法了,只有编个程序
    生成文件名称。
      

  3.   

    有没有谁了解windows的批处理命令可能能解决此类问题
      

  4.   

    先建立一个脚本文件用来动态生成命令,比如存为cre_cmd.sql
    set echo off
    set head off
    spool backup.bat
    select 'exp xsy/xsy@ghtdbfs file=c:\temp\' || to_char(sysdate,'YYYYMMDD')|| '.dmp buffer=10000000'
      from dual;
    spool off在建立一个批命令文件用来备份,比如叫做job.bat
    rem 动态生成备份命令文件
    sqlplus uname/upass @cre_cmd.sql
    rem 调用动态批命令文件
    backup.bat
      

  5.   

    上面的办法基本上能用于所有的操作系统,但其实dos还是挺强大好用的,有更简单的办法,比如你在dos窗口下输入:
    echo %date%
    系统会返回当前的日期
      

  6.   

    请试一下:
    exp xsy/xsy@ghtdbfs file=c:\%date:~10,4%%date:~4,2%%date:~7,2%.dmp buffer=10000000在windows 2000英文版下通过测试
      

  7.   

    能否告诉我这个时间的取出含义,我试了一下其结果:exp xsy/xsy@ghtdbfs file=c:\1-10203-.dmp buffer=1000000
    我的想法是可能你的时间格式与我的机上的时间格式是不一样的,所以还得请教你%date:~10,4%的含义
    在此谢谢各位大虾的帮助,现在的这个题目已经有了一定的眉目了,但还差一步
      

  8.   

    %val%表示取环境变量中名称为val的值
    %val:~n1,n2%有点类似于substr函数,意思是对环境变量val进行substr(val,n1,n2)操作,也就是val字符串从n1位置开始长度为n2的子串你用echo %date%看看输出结果,再调整一下n1和n2的值就行了