Nic*_*ick 1 oracle plsql batch-file
我在我的 oracle 数据库上创建了一个目录:示例:
CREATE DIRECTORY execdir AS 'ABXD/EFGH';
grant execute on directory execdir to public;
Run Code Online (Sandbox Code Playgroud)
现在,我的 bat 文件放在网络驱动器上,它是:
//ABXD/EFGH
Run Code Online (Sandbox Code Playgroud)
注意:ABXD 已经挂载在 oracle 数据库中
我的 bat 文件名如下:sample.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
Run Code Online (Sandbox Code Playgroud)
你可以使用DBMS_SCHEDULER. Oracle 技术网上有一个很好的解释,所以 - 看看。
简而言之:您不能直接运行 .BAT 文件;首先调用 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;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3455 次 |
| 最近记录: |