Error leyendo un fichero con Java desde un PL

paco77
13 de Septiembre del 2005
Tengo el siguiente procedimiento:

CREATE OR REPLACE AND COMPILE JAVA SOURCE NAMED "OSCommand" AS
import java.io.*;
public class OSCommand{
public static String Run(String Command){
try{
File p;
p = new File (Command);
if (p.exists()) {
long a;
a = p.length();
return(a+"");
}
else
{
return("-1");
}
}
catch (Exception e){
System.out.println("Error running command: " + Command +
"n" + e.getMessage());
return(e.getMessage());
}
}
}
/

CREATE or REPLACE FUNCTION OSCommand_Run(Command IN STRING)
RETURN VARCHAR2 IS
LANGUAGE JAVA
NAME 'OSCommand.Run(java.lang.String) return int';
/

Cuando lo ejecuto con un fichero local me funciona, pero con un fichero en otro servidor mapeado, me da error ya que no puede acceder al fichero (en el código error -1). Los permisos que he dado a la BD son:

execute dbms_java.grant_permission( 'OL', 'SYS:java.io.FilePermission', '<<ALL FILES>>', 'execute');
execute dbms_java.grant_permission( 'OL', 'SYS:java.io.FilePermission', '<<ALL FILES>>', 'read');
execute dbms_java.grant_permission( 'OL', 'SYS:java.lang.RuntimePermission', 'writeFileDescriptor', '*' );
execute dbms_java.grant_permission( 'OL', 'SYS:java.lang.RuntimePermission', 'readFileDescriptor', '*' );


Gracias.