首页 > 数据库 > Oracle > 在PL/SQL中执行操作系统命令
首先创建java source
createor replace and compile java source named execsyscmd as
import java.io.*;
publicclass ExecSysCmd
{
public static String exec_cmd(String args){
Runtime run = Runtime.getRuntime();
Process process = null;
try {
process = run.exec(args);
return "OK";
} catch (Exception e) {
return e.getMessage();
}
}
public static void main(String[] args)
{
System.out.println("No command linearguments");
}
}
/
其后创建函数调用该java soure
createor replace function exec_cmd(cmd string) return varchar2 is
language java name 'ExecSysCmd.exec_cmd(java.lang.String) returnjava.lang.String';
/
可以通过SQL查询来调用
selectexec_cmd('d:\1.bat') from dual;
EXEC_CMD('D:\1.BAT')
-------------------------------------------------------------------
OK
也可以在PL/SQL代码中调用
setserveroutput on
declare
my_resultvarchar2(20);
begin
select exec_cmd('d:\1.bat') into my_resultfrom dual;
end;
/
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/28974745/viewspace-2141346/ ,如需转载,请注明出处,否则将追究法律责任。