从 Oracle 中的作业执行 .bat 文件

问题描述 投票:0回答:0

我正在尝试从 Oracle 11g 创建一个在我的服务器上运行 .bat 文件的作业。

.bat 文件包含一些简单的内容

@echo off
echo Hello World
pause
The JOB is programmed as follows.
BEGIN
  DBMS_SCHEDULER.CREATE_JOB(
    job_name        => 'TEST_BAT',
    job_type        => 'EXECUTABLE',
    job_action      => 'host cmd /c D:\Report\TEST.bat',
    start_date      => SYSTIMESTAMP,
    repeat_interval => 'FREQ=DAILY; BYHOUR=12; BYMINUTE=0; BYSECOND=0',
    enabled         => TRUE
  );
END;

我也尝试按照以下方式完成作业,但仍然出现相同的错误

BEGIN
    SYS.DBMS_SCHEDULER.CREATE_JOB( job_name => 'TEST_BAT',
        job_type => 'EXECUTABLE',
        job_action => 'C:\WINDOWS\system32\cmd.exe',
        comments => 'Job to call batch script on Windows',
        auto_drop => FALSE,
        number_of_arguments => 1,
        enabled => FALSE);

    SYS.DBMS_SCHEDULER.SET_JOB_ARGUMENT_VALUE( job_name => 'TEST_BAT', argument_position => 1, argument_value => 'D:\Tests\Export\TEST.bat'); 
    SYS.DBMS_SCHEDULER.ENABLE( 'TEST_BAT' ); 

   END;

用SYS用户运行,以防是权限问题,但还是不行。

这是工作日志

ORA-27370: 作业从站无法启动 EXECUTABLE 类型的作业
ORA-27300: 操作系统相关操作: 访问作业调度程序 服务失败,状态:109
ORA-27301:操作系统故障消息: 系统找不到指定的文件。
ORA-27302: 发生故障 at: sjsec 9
ORA-27303: 附加信息: 系统无法 找到指定的文件。

我期待 .bat 文件在我的服务器上执行,并带有“Hello World”

oracle batch-file oracle11g
© www.soinside.com 2019 - 2024. All rights reserved.