【问题标题】:Java Stored Procedure: OUT paramsJava 存储过程:OUT 参数
【发布时间】:2013-10-10 05:03:38
【问题描述】:

我必须在 Oracle 中使用 'OUT' 参数创建一些 java 程序。 程序必须是这样的:

create or replace 
procedure SomeProcedure(input1 IN VARCHAR2, result1 OUT VARCHAR2, result2 OUT VARCHAR2)
...
...

我该怎么做?我必须如何指定 Java 类和方法?如何从此类和方法创建存储过程? 有什么简单的例子吗?

UPD:解决这个问题:

create or replace and compile java source named "TestOutParams" as
public class TestOutParams{
    public static void someMethod(String[] value){
        value[0] = "Hello";
    }
};
/

create or replace procedure TestOutParams(value OUT VARCHAR2) as
language java
NAME 'TestOutParams.someMethod(java.lang.String[])';
/

SQL>var value VARCHAR2(40);
SQL>exec TestOutParams(:value);
PL/SQL procedure successfully completed.
SQL>PRINT value;
VALUE
---------

Hello

我不知道,为什么,但它的工作原理!

【问题讨论】:

  • @Augusto 不要生气。我解决了这个问题。

标签: java oracle stored-procedures


【解决方案1】:

嗯,是这样的;

CallableStatement stmt = null;
stmt = conn.prepareCall("begin SomeProcedure(?,?,?); end;");
stmt.setString(1, new String("value1"));             // Bind 1st input parameter
stmt.setString(2, new String("value2"));          // Bind 2nd input parameter
stmt.registerOutParameter(3, Types.VARCHAR);     // 3rd parameter is OUT
stmt.execute();

String retcod = new String(stmt.getInt(3));

【讨论】:

  • 他要暴露一个java函数。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-01-01
  • 2011-07-29
  • 1970-01-01
  • 2012-03-11
  • 1970-01-01
  • 2020-01-09
  • 2013-11-02
相关资源
最近更新 更多