Wierdness with Runtime().getRuntime().exec between 8.1.6 an 8.1.7
Date: Wed, 2 May 2001 09:40:05 -0400
Message-ID: <tf03eekcc9d2b5_at_corp.supernews.com>
[Quoted] A Java SP that executes OS commands runs fine in 8.1.6, but doesn't run in [Quoted] 8.1.7 when a window is generated as a result of the call. The Java class follows:
package com.crtinc.oracle.util.osrun;
import java.io.*;
public class SimpleRunner extends Object {
public static void run(String cmd) throws IOException {
Runtime.getRuntime().exec(cmd);
}
}
The call spec follows:
CREATE OR REPLACE PACKAGE SIMPLERUNNER AUTHID CURRENT_USER AS
PROCEDURE RUN ("cmd" IN VARCHAR2)
AS LANGUAGE JAVA
NAME 'com.crtinc.oracle.util.osrun.SimpleRunner.run(java.lang.String)';
END SIMPLERUNNER;
When deployed to v8.1.6 by a user with JAVASYSPRIV, the following call from
[Quoted] [Quoted] SQL*Plus runs and displays a window:
exec simplerunner.run('notepad.exe');
When deployed to v8.1.7, the same call causes notepad.exe to be added to the
NT
[Quoted] [Quoted] Task Manager Processes tab, but the notepad window doesn't actually open up.
[Quoted] FWIW, the above code is a simple example - myactual utility captures the
[Quoted] output streams of OS commands, very much along the lines of sample code that
[Quoted] I've seen on Metalink - this also works fine in 8.1.6, but never returns in
8.1.7.
[Quoted] [Quoted] Granted, running Notepad is of limited utility (though it demos very well
:-),
[Quoted] but other useful OS commands that spawn a window (such as kicking of an
Oracle
Report, which pops up a small status window) do not run now in 8.1.7.
Running
a completely non-visual process seems to work fine, however.
Any help much appreciated!
Jim Stoll Received on Wed May 02 2001 - 15:40:05 CEST