从Java In / out Paramaters调用oracle过程

时间:2017-11-03 09:36:02

标签: java oracle procedure

我应该从Java调用一个过程

 PROCEDURE getArray (           result            OUT INTEGER, 
                                code              IN CODE%TYPE,
                                type              IN TYPEELEMENT%TYPE, 
                                array             OUT ARRAY_T, 
                                state             IN INTEGER DEFAULT NULL);

ARRAY_T是create or replace TYPE ARRAY_T IS TABLE OF ARRAY_T_ELEMENT;

create or replace TYPE ARRAY_T_ELEMENTIS OBJECT
(
  ELEMENT_FATHER VARCHAR2(64),
  TYPE_ELEMENT VARCHAR2(10),
  DATE_BEGIN DATE,
  COD_ERR VARCHAR2(10)
);

我的java代码是

  stmt.registerOutParameter(1, Types.INTEGER);
        stmt.setString(2, code);
        stmt.setString(3, elementType);
        stmt.registerOutParameter(4, Types.ARRAY,"ARRAY_T" );
        stmt.setInt(5,1);

出现的错误是冲突参数类型

我不明白我错在哪里,而且我也想知道如何为最后一个值传递任何东西,因为在这种情况下我会使用defualt。

非常感谢

0 个答案:

没有答案