Каков эквивалентный синтаксис для предоставления Java, работающему во встроенной Oracle JVM, в Oracle Directory по имени? - PullRequest
0 голосов
/ 15 октября 2011

Чтобы предоставить Java-код, который выполняется внутри Oracle JVM, встроенной в СУБД 10g, в конкретный каталог на диске, который я могу выполнить:

dbms_java.grant_permission( 
        'SCOTT', 
        'SYS:java.io.FilePermission', 
        '/some/path/on/disk', 
         'read');

Каков эквивалентный синтаксис для предоставления Java-коду, работающему внутри Oracle JVM, встроенной в СУБД 10g, Oracle Directory по имени?

dbms_java.grant_permission( 'SCOTT', 
 'SYS:java.io.FilePermission', 
 'SOME_DIRECTORY_IN_ALL_DIRECTORIES_VIEW', 
 'read');

Объекты каталога можно найти здесь: выбрать * из всех каталогов

Пример записей в представлении all_directories:

OWNER   DIRECTORY_NAME    DIRECTORY_PATH
SYS     LOG               /export/home/scott/log
SYS     RESPONSE          /export/home/scott/response
SYS     STAGING           /export/home/scott/staging

Если есть такой зверь, каков синтаксис для чтения из названного каталога в коде Java?

1 Ответ

1 голос
/ 15 октября 2011

Исходя из того, что я прочитал в этом вопросе AskTom , вам понадобится что-то вроде:

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');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...