如何从oracle pl sql过程运行bat文件
我在oracle数据库上创建了一个目录: 例如: 现在,我的bat文件放在网络驱动器上,该驱动器是:如何从oracle pl sql过程运行bat文件,oracle,batch-file,plsql,Oracle,Batch File,Plsql,我在oracle数据库上创建了一个目录: 例如: 现在,我的bat文件放在网络驱动器上,该驱动器是: //ABXD/EFGH 注意:ABXD已装入oracle数据库中 我的bat文件名如下: 蝙蝠样本 bat文件内容: @echo off pushd //ABXD/EFGH FOR /f %%i IN ('dir /o:-d /b') DO (set LAST=%%i) ren %LAST% data_1.jpg popd 您可以使用DBMS\u调度程序。有一个很好的解释,让我们看看 简而言
//ABXD/EFGH
注意:ABXD已装入oracle数据库中
我的bat文件名如下:
蝙蝠样本
bat文件内容:
@echo off
pushd //ABXD/EFGH
FOR /f %%i IN ('dir /o:-d /b') DO (set LAST=%%i)
ren %LAST% data_1.jpg
popd
您可以使用
DBMS\u调度程序
。有一个很好的解释,让我们看看
简而言之:您不能直接运行.BAT文件;先使用envoke CMD.EXE,然后让它运行.BAT文件
摘自该页:
BEGIN
DBMS_SCHEDULER.create_job ('myjob',
job_action => 'C:\WINDOWS\SYSTEM32\CMD.EXE',
number_of_arguments => 3,
job_type => 'executable',
enabled => FALSE);
DBMS_SCHEDULER.set_job_argument_value ('myjob', 1, '/q');
DBMS_SCHEDULER.set_job_argument_value ('myjob', 2, '/c');
DBMS_SCHEDULER.set_job_argument_value ('myjob', 3, 'c:\temp\test.bat');
DBMS_SCHEDULER.enable ('myjob');
END;
您可以使用
DBMS\u调度程序
。有一个很好的解释,让我们看看
简而言之:您不能直接运行.BAT文件;先使用envoke CMD.EXE,然后让它运行.BAT文件
摘自该页:
BEGIN
DBMS_SCHEDULER.create_job ('myjob',
job_action => 'C:\WINDOWS\SYSTEM32\CMD.EXE',
number_of_arguments => 3,
job_type => 'executable',
enabled => FALSE);
DBMS_SCHEDULER.set_job_argument_value ('myjob', 1, '/q');
DBMS_SCHEDULER.set_job_argument_value ('myjob', 2, '/c');
DBMS_SCHEDULER.set_job_argument_value ('myjob', 3, 'c:\temp\test.bat');
DBMS_SCHEDULER.enable ('myjob');
END;
不是解决方案,但是:在
pushd//ABXD/EFGH
中,我将/
更改为\
,这是Windows路径分隔符…不是解决方案,但是:在pushd//ABXD/EFGH
中,我将//code>更改为\
,这是Windows路径分隔符。。。