2013-10-31 80 views
1

我是DMBS_SCHEDULER中的新手,我遇到了一些问题。
我想运行.exe
所以我创建了一个作业:从DBMS_SCHEDULER运行exe

begin 
    sys.dbms_scheduler.create_job(job_name   => 'FTREC.EXE_1', 
          job_type   => 'EXECUTABLE', 
          job_action   => 'C:\Windows\System32\calc.exe', 
          start_date   => to_date(null), 
          repeat_interval  => '', 
          end_date   => to_date(null), 
          job_class   => 'IRECS_JOB_CLASS', 
          enabled    => false, 
          auto_drop   => false, 
          comments   => ''); 
end; 

我也创建凭据:

DBMS_SCHEDULER.CREATE_CREDENTIAL('WWLSERVER','WWLSERVER','1234',null,null,null); 

而且我申请的凭证,以我的工作

dbms_scheduler.set_attribute('FTREC.EXE_1', 'credential_name', 'WWLSERVER'); 

但是当我尝试运行我的作业时,出现此错误:

EXTERNAL_LOG_ID="job_255737_183883", 
ORA-27369: job of type EXECUTABLE failed with exit code: The extended attributes are inconsistent. 

我做错了什么?

回答

0

凭证在10g中不可用。在 DBMS_SCHEDULER documentation中没有提及“凭证”一词。

我能够在12c中运行你的代码。但运行calc.exe创建了一个无法启动的会话,我不得不重新启动数据库。当我使用一个简单的.bat文件进行测试时,情况变得更好了。

This thread关于Oracle论坛有关于在10g上运行外部程序的方法。