Java Mailing List Archive

http://www.dba.5341.com/

Home » Home (12/2007) » oracle l »

Problem with java function

John Dunn

2004-02-06


I have a problem with a java function that I use to run unix commands.
It works OK for most commands(for example touch works fine), but I am having
problem with the echo command.
I am wondering whether the problem is the redirection sign >


Plaform is Oracle 9.2 on Solaris but same problem occurs on AIX

Below is the code and the sql script I use to test.

Any thoughts?

----------------------------------------------------------------------------
--------------------

CREATE OR REPLACE AND COMPILE JAVA SOURCE NAMED "function_os_command" AS
import java.io.*;
import java.util.*;
public class function_os_command
{
 public static int Run(String Command)
 {
  int rc = 0;
  try
  {
  Runtime rt = Runtime.getRuntime();
  Process p = rt.exec(Command);
  try {
     rc = p.waitFor();
    } catch (InterruptedException intexc) { rc = 2; }

  } catch (Throwable t) { rc = 3; }
  return(rc);
 }
}
/

CREATE or REPLACE FUNCTION function_run_os_command(Command IN STRING)
RETURN NUMBER IS
LANGUAGE JAVA
NAME 'function_os_command.Run(java.lang.String) return integer';
/




sql script to test it

/* example call to unix function */
set serveroutput on
VARIABLE retcode NUMBER;
begin
--:retcode := function_run_os_command('/usr/bin/echo hello >
/tmp/testecho');
:retcode := function_run_os_command('/usr/bin/touch /tmp/testecho');


dbms_output.put_line('retcode ' || :retcode);
end;
.
/
exit




----------------------------------------------------------------
Please see the official ORACLE-L FAQ: http://www.orafaq.com
----------------------------------------------------------------
To unsubscribe send email to: oracle-l-request@(protected)
put 'unsubscribe' in the subject line.
--
Archives are at http://www.freelists.org/archives/oracle-l/
FAQ is at http://www.freelists.org/help/fom-serve/cache/1.html
-----------------------------------------------------------------


©2008 dba.5341.com - Jax Systems, LLC, U.S.A.