我的脚本的内容见下:
d:\test.txt:spool d:\abc.xls;
select sysdate from dual;
spool off;
/
我在SQL-PLUS下面@d:\test.txt;这样可以产生文件,而我放在JOB中已经执行了JOB而没有产生文件是为什么?

解决方案 »

  1.   

    需要使用外部作业。
    首先启动外部作业服务(OracleJobSchedulerSID),创建外部作业
    begin
     dbms_scheduler.create_job(
      job_name=>'external_job',
      job_type=>'EXECUTABLE',
      job_action=>'sqlplus',
      number_of_arguments=>2);
      dbms_scheduler.set_job_argument_value('external_job',1,'user/password');
      dbms_scheduler.set_job_argument_value('external_job',2,'@d:\test.txt');
    end;
    /运行作业
    begin
     dbms_scheduler.run_job('external_job');
    end;
    /