将嵌入式 Oracle JVM 中运行的 Java 按名称授予 Oracle 目录的等效语法是啥?
Posted
技术标签:
【中文标题】将嵌入式 Oracle JVM 中运行的 Java 按名称授予 Oracle 目录的等效语法是啥?【英文标题】:What is the equivalent syntax to grant Java running in the embedded Oracle JVM to an Oracle Directory by Name?将嵌入式 Oracle JVM 中运行的 Java 按名称授予 Oracle 目录的等效语法是什么? 【发布时间】:2011-10-14 20:05:06 【问题描述】:要将在 10g DBMS 中内置的 Oracle JVM 中运行的 java 代码授予我可以执行的磁盘上的特定目录:
dbms_java.grant_permission(
'SCOTT',
'SYS:java.io.FilePermission',
'/some/path/on/disk',
'read');
授予在 10g DBMS 中内置的 Oracle JVM 中运行的 Java 代码按名称命名的 Oracle 目录的等效语法是什么?
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】:根据我在this AskTom question 中读到的内容,您需要以下内容:
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');
【讨论】:
明白。我这样做了,它似乎与目录对象的整个想法相冲突。以上是关于将嵌入式 Oracle JVM 中运行的 Java 按名称授予 Oracle 目录的等效语法是啥?的主要内容,如果未能解决你的问题,请参考以下文章