在ORACLE中PL/SQL利用java读取文件
参考了
的内容,但是出现如下错误:
Exception in thread "Root Thread" java.security.AccessControlException: the
Permission (java.io.FilePermission h:\FlightShow\log\FreeText3.log read) has not
been granted to ZJAIRPORT. The PL/SQL to grant this is
dbms_java.grant_permission( 'ZJAIRPORT', 'SYS:java.io.FilePermission',
'h:\FlightShow\log\FreeText3.log', 'read' )
at
java.security.AccessControlContext.checkPermission(AccessControlContext.java)
at java.security.AccessController.checkPermission(AccessController.java)
at java.lang.SecurityManager.checkPermission(SecurityManager.java)
at
oracle.aurora.rdbms.SecurityManagerImpl.checkPermission(SecurityManagerImpl.java
)
at java.lang.SecurityManager.checkRead(SecurityManager.java)
at java.io.FileInputStream.(FileInputStream.java)
at java.io.FileInputStream.(FileInputStream.java:66)
at java.io.FileReader.(FileReader.java:41)
at JAVAREADFILE.readfile(JAVAREADFILE:8)
BEGIN JAVAREADFILEPROC('h:/FlightShow/log/FreeText3.log'); END;
*
第 1 行出现错误:
ORA-29532: Java 调用被未捕获的 Java 异常错误终止:
java.security.AccessControlException: the Permission (java.io.FilePermission
h:\FlightShow\log\FreeText3.log read) has not been granted to ZJAIRPORT. The
PL/SQL to grant this is dbms_java.grant_permission( 'ZJAIRPORT',
'SYS:java.io.FilePermission', 'h:\FlightShow\log\FreeText3.log', 'read' )
ORA-06512: 在 "ZJAIRPORT.JAVAREADFILEPROC", line 1
ORA-06512: 在 line 1
oracle利用java读写文件的权限不够。。
于是乎,在sqlplus的命令窗口,输入了如下语句;
SQL> exec dbms_java.grant_permission( 'ZJAIRPORT', 'SYS:java.io.FilePermission','h:\FlightShow\log\*', 'read,write' );
这一句的意思是向zjairport用户授权java读写'h:\FlightShow\log\'文件夹的权限。
问题终于得到解决,爽牙