快捷搜索:

oracle Java源定时执行exe程序

create or replace and compile java source named rundx as

importjava.io.*;

publicclassRunDx{

publicstaticStringRun(String JOBID){

try{

System.out.println( "success ");

Runtime.getRuntime().exec("D:\\DxptTimeSystem\\DxptTimeSystem.exe");

System.out.println("ok");

return( "0 ");

}

catch(Exceptione){

System.out.println( "Errorrunningcommand: "e.getMessage());

return(e.getMessage());

}

}

}

存储历程:

create or replace procedure RunDx(P_JOB in varchar2) as language java name'RunDx.Run(java.lang.String)';

JOB:

begin

sys.dbms_job.submit(job => :job,

what => 'RUNDX;',

next_date => to_date('01-01-4000', 'dd-mm-yyyy'),

interval => 'sysdate 1');

sys.dbms_job.broken(job => :job,

broken => true,

next_date => to_date('01-01-4000', 'dd-mm-yyyy'));

commit;

end;

/

对目录、文件进行操作时,以SYS用户登录履行

execute dbms_java.grant_permission('TXGS','SYS:java.io.FilePermission','C:\TempImageFiles\*','delete');

Dbms_Java.Grant_Permission('ORACLE','java.io.FilePermission', '>','read ,write, execute, delete');

Dbms_java.grant_permission('ORACLE', 'SYS:java.io.FilePermission', '>','read ,write, execute, delete');

Dbms_Java.Grant_Permission('ORACLE', 'java.io.FilePermission', '%systemroot%\system32\cmd.exe','read ,write, execute, delete');

dbms_java.grant_permission('ORACLE', 'java.lang.RuntimePermission','*','writeFileDescriptor' );

您可能还会对下面的文章感兴趣: