我需要在 Oracle 中创建一个 Java 存储过程。我使用 IBM 的示例类从 Java EE 环境之外的简单类创建 MQ 消息。我已经自己测试了这个类并且它正在工作。
我的 Oracle 版本是 11i。
当我尝试添加简单应用程序中使用的 jar 以与我的简单类一起加载到 Oralce 时,我收到有关未找到类的错误,即使相同的 jar 与测试用例一起使用。我被这个问题困扰了一个多星期,并且非常希望有人能够帮助我。
我得到的错误种类是这样的,来自客户端上带有 loadjava 实用程序的-v标志
在第 326 / 327 行,您会看到:
创建:com/ibm/mq/jms/admin/AP 类加载:com/ibm/mq/jms/admin/AP 类
然后从第6224行开始到end,表示上面的类无法解析:
com/ibm/mq/jms/admin/APRCXI:ORA-29534:引用的对象 xxxx.com/ibm/mq/jms/admin/AP 无法解析 com/ibm/mq/jms/admin/APDX:ORA-29534 :引用的对象 xxxx.com/ibm/mq/jms/admin/AP 无法解决退出:错误解决类 com/ibm/mq/jms/admin/AP
我使用的命令是:
c:\Oracle\product\11.2.0\client_1\bin\loadjava.bat -f -jarsasdbobjects -prependjarnames -stoponerror -u xxxx/yyyy@SID -v -resolve lib\jms.jar lib\com.ibm.mqjms。 jar lib\com.ibm.mq.jmqi.jar lib\dhbcore.jar lib\fscontext.jar src\com\test\javasp\mq\JmsProducer.java
我还尝试使用-genmissing选项和一些额外的 jars(我在此处找到的列表),但对于不同的类仍然会出现类似的错误。
我面临的其他问题是,如果我收到错误并尝试使用 Oracle 的 dropjava 命令,它也不起作用。
我也从这个链接中看到,这个人是成功的,但不幸的是,他/她没有说明他们是如何使用 loadjava 加载 jar 的。
如果我可以提供任何其他信息,请告诉我。
如果有人对如何让 Java 存储过程使用 IBM MQ 与 Oracle 11i 一起工作有任何想法,我将非常感谢您的帮助。