Here is the java class u can use to run any OS command:
Code:
CREATE OR REPLACE AND COMPILE JAVA SOURCE NAMED Command
AS
import java.io.*;
import java.util.*;
public class Command{
public static void run(String cmdText)
throws IOException, InterruptedException
{
int rtn;
Runtime rt = Runtime.getRuntime();
Process prcs = rt.exec(cmdText);
rtn = prcs.waitFor();
}
}
Then you can publish a PL/SQL procedure to be used in ur applications.
Code:
CREATE OR REPLACE PROCEDURE runoscommand(cmd IN VARCHAR2)
AS LANGUAGE JAVA
NAME 'Command.run(java.lang.String)'
Now you can use the above procedure to run any batch files:
For example to unzip files:
Code:
CREATE OR REPLACE PROCEDURE unzipfiles(pdirname IN VARCHAR2,
pfilename IN VARCHAR2, poutdirname IN VARCHAR2)
IS
loscmd VARCHAR2(120);
BEGIN
loscmd := 'f:\data\7za e -o' || pdirname || ' ';
loscmd := loscmd || poutdirname || ' ' || pfilename;
runoscommand(loscmd);
END;
Hope this example will be helpful.
Bookmarks