Java 使用SimpleJDBCall调用oracle过程

Java 使用SimpleJDBCall调用oracle过程,java,Java,我正在尝试使用SimpleJDBCall调用oracle过程。 程序是这样创建的 CREATE OR REPLACE PROCEDURE procedureName (name IN opt_col) ... end; SimpleJdbcCall call = new SimpleJdbcCall(dataSource).withProcedureName("procedureName"); call.declareParameters(new SqlParame

我正在尝试使用SimpleJDBCall调用oracle过程。 程序是这样创建的

CREATE OR REPLACE PROCEDURE procedureName (name IN opt_col)
...
end;
SimpleJdbcCall call = new SimpleJdbcCall(dataSource).withProcedureName("procedureName");
    call.declareParameters(new SqlParameter(name, Types.ARRAY, "opt_col"));

SimpleJdbcCall.execute(new MapSqlParameterSource().addValue("name", ));
opt_col是一种oracle类型

CREATE OR REPLACE TYPE opt_col FORCE AS TABLE OF VARCHAR2(200);
像这样的Java代码

CREATE OR REPLACE PROCEDURE procedureName (name IN opt_col)
...
end;
SimpleJdbcCall call = new SimpleJdbcCall(dataSource).withProcedureName("procedureName");
    call.declareParameters(new SqlParameter(name, Types.ARRAY, "opt_col"));

SimpleJdbcCall.execute(new MapSqlParameterSource().addValue("name", ));
我找不到必须传递给addValue方法的内容

要从oracle调用该过程,我使用以下命令

Begin
    procedureName(opt_col("name"));
End;

您需要传递存储过程需要使用的name变量的值。对不起,我不明白您的答案。opt_col是表的一种类型,因此我认为在SqlParameter中,类型必须是Types.ARRAY。也许这是错误的。我必须在addValue中向过程传递什么值?