我创建了 2 个过程和一个 java 源
一个过程是调用 java 类 TestHostCommand
PROCEDURE TEST2
(p_command IN Varchar2)
AS LANGUAGE JAVA
NAME 'TestHostCommand.executeCommand(java.lang.String)';
Java源是:
import java.io.*;
public class TestHostCommand
{
public void executeCommand(String command)
{
Runtime rt = Runtime.getRuntime();
Process p = null;
try
{
p = rt.exec("ls > /Orion/list/list.txt");
return;
} catch ( IOException ioe)
{
System.out.println("Error executing file");
}
}
}
另一个过程是授予权限,但生成错误:
PROCEDURE GRANT_PERMISSION
(grantee IN VARCHAR2,
permission_type IN VARCHAR2,
permission_name IN VARCHAR2,
permission_action IN VARCHAR2)
IS
BEGIN
DBMS_JAVA.grant_permission ('ORION', 'java.io.FilePermission',
'<>', 'read ,write, execute, delete');
DBMS_JAVA.grant_permission ('ORION', 'SYS:java.lang.RuntimePermission',
'writeFileDescriptor', '');
DBMS_JAVA.grant_permission ('Orion', 'SYS:java.lang.RuntimePermission',
'readFileDescriptor', '');
END;
错误是无效对象。
谢谢