我需要从ADF中的java代码调用的包中有以下函数
FUNCTION COPY_ITEM(O_error_message IN OUT VARCHAR2,
I_master_order IN FFE_ITEM.MASTER_ORDER%TYPE,
I_item IN FFE_ITEM.ITEM%TYPE,
O_new_item OUT FFE_ITEM.ITEM%TYPE)
return NUMBER;
以下是我试图用
调用它的代码 String stmt = "FFE_CREATE_ITEM.COPY_ITEM(?,?,?,?)";
cst = this.getDBTransaction().createCallableStatement("begin ? := " + stmt + ";end;", 0);
//Register dataType for return value
cst.registerOutParameter(2, Types.VARCHAR);
cst.registerOutParameter(3, Types.NUMERIC);
cst.registerOutParameter(4, Types.VARCHAR);
cst.registerOutParameter(5, Types.VARCHAR);
cst.setObject(2 , errorO);
cst.setObject(3 , orderNum);
cst.setObject(4 , itemNum);
cst.setObject(5 , newItemNum);
cst.executeUpdate();
但是我一直得到一个oracle.jbo.JboException:索引1错误时缺少IN或OUT参数。
不确定我做错了什么,任何提示都会很棒。我想我没有注册返回值,但不知道如何做到这一点。