在Oracle Database 11g中使用Java

时间:2014-05-20 18:02:04

标签: java sql oracle oracle11g oracle-sqldeveloper

我正在尝试在 Oracle SQL Developer 11g企业版11.2.0.3.0中运行的Java文件(使用外部库)

我在命令提示符下使用以下这些行编译并上传了我的代码(使用JDK 1.5x,我知道它不支持更高的任何内容)到数据库Java文件夹。

loadjava -user username/password@MyInstance -force -verbose -resolve -fileout Javawriter.log  -genmissing MyLibrary.jar

loadjava -user username/password@MyInstance -force -verbose -resolve -fileout Javawriter.log -genmissing MyJavaFile.java

我想知道如何使用 SQL过程工作表来使用此Java文件。如何在我的Java类中调用方法返回某些值?

P.S。这样的事情给我任何价值

Varchar(20) summaryCall = MyJavaClass.MyMethod(5,3);

我做错了什么? :S

2 个答案:

答案 0 :(得分:1)

我已经创建了与您的问题相关的教程。您可以看到here

希望这会有所帮助:)

答案 1 :(得分:0)

您需要创建PL/SQL wrapper function。像

这样的东西
CREATE OR REPLACE FUNCTION myMethod( p_arg1 IN NUMBER,
                                     p_arg2 IN NUMBER ) 
  RETURN VARCHAR2 
AS
  LANGUAGE JAVA NAME 
    'MyJavaClass.MyMethod (java.lang.Integer, java.lang.Integer) 
          return java.lang.String';

然后调用PL / SQL函数

summaryCall varchar2(20) := myMethod( 5, 3 );