To grant java code that is running inside the Oracle JVM built into 10g DBMS to a specific directory on disk I can can execute:
dbms_java.grant_permission(
'SCOTT',
'SYS:java.io.FilePermission',
'/some/path/on/disk',
'read');
What is the equivalent syntax to grant Java code running inside the Oracle JVM built into 10g DBMS an Oracle Directory by Name?
dbms_java.grant_permission( 'SCOTT',
'SYS:java.io.FilePermission',
'SOME_DIRECTORY_IN_ALL_DIRECTORIES_VIEW',
'read');
The directory objects can be found here: select * from all_directories
Example entries in all_directories view:
OWNER DIRECTORY_NAME DIRECTORY_PATH
SYS LOG /export/home/scott/log
SYS RESPONSE /export/home/scott/response
SYS STAGING /export开发者_运维技巧/home/scott/staging
If there is such a beast, What is the syntax to read from the named directory within the Java code?
Based on what I read in this AskTom question, you'll need something like:
SELECT directory_path INTO v_path
FROM all_directories
WHERE directory_name = '<oracle_dir_name>';
dbms_java.grant_permission( 'SCOTT',
'SYS:java.io.FilePermission',
v_path,
'read');
精彩评论