首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >从Oracle运行.bat脚本

从Oracle运行.bat脚本
EN

Stack Overflow用户
提问于 2015-05-23 04:05:52
回答 1查看 5K关注 0票数 0

我有一个批处理脚本,双击该脚本,就可以用从.csv导入的值填充一个表。我想使用我执行过的PL/SQL script..so来执行该脚本:

代码语言:javascript
复制
    BEGIN
    SYS.DBMS_SCHEDULER.CREATE_JOB( job_name => 'e_job',
        job_type => 'EXECUTABLE',
        job_action => 'C:\WINDOWS\system32\cmd.exe',
        job_class => 'DEFAULT_JOB_CLASS',
        comments => 'Job to call batch script on Windows',
        auto_drop => FALSE,
        number_of_arguments => 3,
        enabled => FALSE);

    SYS.DBMS_SCHEDULER.SET_JOB_ARGUMENT_VALUE( job_name => 'e_job', argument_position => 1, argument_value => '/q'); 
    SYS.DBMS_SCHEDULER.SET_JOB_ARGUMENT_VALUE( job_name => 'e_job', argument_position => 2, argument_value => '/c'); 
    SYS.DBMS_SCHEDULER.SET_JOB_ARGUMENT_VALUE( job_name => 'e_job', argument_position => 3, argument_value => '"E:\temp\StartLoad.bat"'); 
    SYS.DBMS_SCHEDULER.ENABLE( 'e_job' ); 


   END;

    BEGIN
    DBMS_SCHEDULER.RUN_JOB('example_job');
    END;

我没有收到任何错误,但是我的表中没有包含任何值。我必须说,我的脚本运行良好,如果在windows资源管理器中双击执行

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-23 08:06:10

在示例调用中,您将新作业命名为‘e_ CREATE_JOB’,但在RUN_JOB调用中,您运行的是'example_ job‘。更改作业调用以调用‘e_ RUN_JOB’。

我还建议您在批处理文件中执行一些明确指示批处理文件已经运行的操作-尝试在批处理文件的最开始添加echo I ran OK! > c:\e_job.log。这样,您就可以通过查找日志文件来确定批处理文件是否已执行。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30405081

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档