我正在尝试使用一个输出游标类型参数并且没有输入参数来调用Oracle存储过程。虽然可以使用vanilla jdbc成功运行存储过程,但我得到了
使用Spring的SimpleJdbcCall API时出现PLS-00306:调用时参数的数量或类型错误 'MYPROCEDURE'
错误。无法弄清楚哪里出了问题,有人可以帮助我了解以下代码中的问题吗?过程/参数名称/类型的拼写正确。
DataSource ds = new HikariDataSource(); //has jdbcurl,username,password,driverClassName set
JdbcTemplate jdbcTemplate = new JdbcTemplate(ds);
SimpleJdbcCall jdbcCall = new SimpleJdbcCall(jdbcTemplate)
.withSchemaName("myschema")
.withCatalogName("mypackage")
.withProcedureName("myprocedure")
.withoutProcedureColumnMetaDataAccess()
.withReturnValue()
.declareParameters(new SqlOutParameter("out_param_name", OracleTypes.Cursor, new MyRowMapper());
Map<String,Object> result = jdbcCall.execute();