这是我如何通过 SqlDeveloper 执行我的存储过程
var p refcursor;
exec DMG.Getstudentids(12342343,:p);
print p;
输出
P
-----------
STUDENT_ID
-----------
23432425
54353455
现在我正在尝试以相同的方式执行存储过程,但在 Java 中。这是我的代码,我缺少有关输入/输出参数或其数据类型的信息。
Connection connection = DriverManager.getConnection(url, user, pass);
CallableStatement cs = connection.prepareCall("{call DMG.Getstudentids(?,?)}");
cs.setFloat(1, 12342343);
cs.registerOutParameter(2, Types.OTHER);
cs.execute();
List<Integer> result = (List<Integer>) cs.getArray(2);
我收到以下错误
java.sql.SQLException: Invalid column type: 1111
我想我在这里遗漏了一些基本的东西。有人看到我在哪里失败了吗?谢谢。