loadjava工具:ORA-29532:无法实例化类:weblogic.jndi.WLInitialContextFactory
经过数小时的详尽研究和Oracle文档及支持页面,我们无法解决此问题 实用程序:loadjava 操作:尝试使用loadjava加载.jar文件,并使用PL/SQLAPI调用Java类。这个java类只是向JMS队列添加一个值,并返回一个状态为SUCCESS的字符串。注意:Hello.java工作成功 问题:在使用loadjava成功加载之后,当我们通过Oracle PL/SQL函数执行时,会出现以下错误 ORA-29532:Java调用被未捕获的Java异常终止:javax.jms.JMSRuntimeException:无法实例化类:weblogic.jndi.WLInitialContextFactory 我们的试验:我们认为它缺少一些Weblogic库。因此,我们使用loadjava实用程序分别添加了wlthint3client.jar。我们还尝试在“ORACLEHOME\jdk\jre\lib\ext”下添加wlthint3client.jar,以便在实例加载时获取它。但错误一直在发生。我们将此作为原始jar的一部分,但仍然是同一版本 我们回到了基础,创建了Hello.java和Hello.class,并使用loadjava加载它们。通过PL/SQL函数调用这个类,它成功地工作了。只有当我们加载一个.jar文件时,它才会抛出这个ContextFactory错误 步骤1:在ORACLEHOME命令提示符下:loadjava工具:ORA-29532:无法实例化类:weblogic.jndi.WLInitialContextFactory,java,oracle,plsql,loadjava,Java,Oracle,Plsql,Loadjava,经过数小时的详尽研究和Oracle文档及支持页面,我们无法解决此问题 实用程序:loadjava 操作:尝试使用loadjava加载.jar文件,并使用PL/SQLAPI调用Java类。这个java类只是向JMS队列添加一个值,并返回一个状态为SUCCESS的字符串。注意:Hello.java工作成功 问题:在使用loadjava成功加载之后,当我们通过Oracle PL/SQL函数执行时,会出现以下错误 ORA-29532:Java调用被未捕获的Java异常终止:javax.jms.JMSRu
loadjava -user userschema/password@instance -verbose -force JMessenger-1.0.jar.
它已成功加载。输出结果如下:
Classes Loaded: 97
Resources Loaded: 13
Sources Loaded: 0
Published Interfaces: 0
Classes generated: 0
Classes skipped: 0
Synonyms Created: 0
Errors: 0
步骤2:创建PL/SQL函数:
CREATE OR REPLACE FUNCTION FUN_CALL_JAVA_TST RETURN VARCHAR2 AS
LANGUAGE JAVA NAME 'xyz.abc.messenger.producer.MessageProducer.testPing() return java.lang.String';
/
步骤3:我们编写了一个调用方:
declare testoutput varchar2(100);
begin testoutput := FUN_CALL_JAVA_TST();
dbms_output.put_line(testoutput);
exception when others then
dbms_output.put_line(sqlerrm);
end;
同样的错误不断出现
- OracleHome安装中的Java版本:Java版本“1.8.0_201”
- Java(TM)SE运行时环境(build 1.8.0_201-b09)
- Java HotSpot(TM)64位服务器虚拟机(构建25.201-b09,混合模式)