当我从PL / SQL调用JAVA类时,我得到以下错误
show parameters shared_servers
我已经提到了金属片说明-Doc:1420943.1
这要求检查值(loadjava -user apps/password - force -verbose -resolve java.class
)并设置为零,如果它不为零。
但该值已经为0。
请帮助我确定导致问题的原因。
-----------------------更多信息---------------------- -------------
我们使用l_retCode := initialize(para_1 => l_para1,
Para_2 => l_para2,
para_3 => l_para3);
将java类加载到Oracle DB中。
数据库版本12c。
PL / SQL:
function initialize(para_1 VARCHAR2, para_2 VARCHAR2, para_3 VARCHAR2)
return NUMBER as LANGUAGE JAVA NAME
'com.snlp.XXWClass.initialize(java.lang.string,java.lang.string,java.lang.string) return int'
初始化函数定义如下
public static int initialize(s String, s1 String , s2 String){
// logic goes here
}
Java代码:
expr
答案 0 :(得分:0)
1)在DB Error:(21, 29) error: There is a problem with the query: [SQLITE_ERROR]
SQL error or missing database (no such collation sequence: LOCALIZED)
和set serveroutput on
中它允许在db中查看java堆栈跟踪。
2)发布错误的java类。字符大小很重要。更改java.lang.string。到java.lang.String。
答案 1 :(得分:0)
从
获得了FIX我们需要在登录后给予GRANTS作为APPS(请参阅链接以获得更清晰的信息 - 无法复制粘贴这些命令,因此,我输入 - 在下面的命令中可能会有一些拼写错误)以下命令修复了许多问题在我们从Oracle的JAVA调用中
dbms_java.grant_permission( '<user_name>', 'SYS:java.util.PropertyPermission', '<property_name>', 'write' );
dbms_java.grant_permission( '<user_name>', 'SYS:java.util.RuntimePermission', 'writeFileDescriptor', '' );
dbms_java.grant_permission( '<user_name>', 'SYS:java.util.RuntimePermission', 'readFileDescriptor', '' );
exec DBMS_JAVA.Grant_Permission( '<user_name>', 'SYS:java.io.FilePermission','<<ALL FILES>>','read,write,execute,delete');
&#13;