venkythaniks
Feb 24th, 2011, 02:33 PM
Hi,
I wanted to call an oracle Stored procedure. One of the out parameter is a cursor. I am receiving an error for the below statement. Please let me know what datatype I have to specify for the Oracle Cursor type?
new SqlOutParameter("o_cursor", OracleTypes.CURSOR);
SimpleJdbcCall procReadActor = new SimpleJdbcCall(oracleCIHDatasource);
procReadActor.withProcedureName("oracle_sp");
procReadActor.setSchemaName("oracleschema");
procReadActor.withoutProcedureColumnMetaDataAccess ();
procReadActor.declareParameters(new SqlParameter("i_act_src_cd", Types.VARCHAR),//1
new SqlParameter("i_end_dt_ch", Types.TIMESTAMP),//2
new SqlParameter("i_limit_no", Types.INTEGER),//3
new SqlParameter("i_request_id", Types.VARCHAR),//4
new SqlParameter("i_perform_id", Types.VARCHAR),//5
new SqlParameter("i_cust_party_id", Types.VARCHAR),//6
new SqlParameter("i_cont_no", Types.VARCHAR),//7
new SqlParameter("i_inter_id", Types.VARCHAR),//8
new SqlParameter("i_cnt_chan_cd", Types.VARCHAR),//9
new SqlParameter("i_start_dt_ch", Types.TIMESTAMP),//10
new SqlParameter("i_act_code", Types.VARCHAR),//11
new SqlParameter("i_sub_act_cd", Types.VARCHAR),//12
new SqlParameter("i_act_st_cd", Types.VARCHAR),//13
new SqlParameter("i_act_sub_st_cd", Types.VARCHAR),//14
new SqlOutParameter("o_resp_cd", Types.INTEGER),
new SqlOutParameter("o_resp_msg", Types.LONGVARCHAR),
new SqlOutParameter("o_cursor", OracleTypes.CURSOR)
);
MapSqlParameterSource inputParams = new MapSqlParameterSource();
inputParams.addValue("i_act_src_cd", "ALL");//1
java.sql.Timestamp tmStmp = java.sql.Timestamp.valueOf("2010-06-03 16:47:25");
inputParams.addValue("i_end_dt_ch", tmStmp);//2
inputParams.addValue("i_limit_no", Integer.valueOf(10));//3
inputParams.addValue("i_request_id", "");//4
inputParams.addValue("i_perform_id", "");//5
inputParams.addValue("i_cust_party_id", "");//6
inputParams.addValue("i_cont_no", "");//7
inputParams.addValue("i_inter_id", "");//8
inputParams.addValue("i_cnt_chan_cd", "ALL");//9
inputParams.addValue("i_start_dt_ch", null);//10
inputParams.addValue("i_act_code", "");//11
inputParams.addValue("i_sub_act_cd", "");//12
inputParams.addValue("i_act_st_cd", "");//13
inputParams.addValue("i_act_sub_st_cd", "");//14
procReadActor.returningResultSet("TEST_RESULTSET", new SampleRowMapper());
I wanted to call an oracle Stored procedure. One of the out parameter is a cursor. I am receiving an error for the below statement. Please let me know what datatype I have to specify for the Oracle Cursor type?
new SqlOutParameter("o_cursor", OracleTypes.CURSOR);
SimpleJdbcCall procReadActor = new SimpleJdbcCall(oracleCIHDatasource);
procReadActor.withProcedureName("oracle_sp");
procReadActor.setSchemaName("oracleschema");
procReadActor.withoutProcedureColumnMetaDataAccess ();
procReadActor.declareParameters(new SqlParameter("i_act_src_cd", Types.VARCHAR),//1
new SqlParameter("i_end_dt_ch", Types.TIMESTAMP),//2
new SqlParameter("i_limit_no", Types.INTEGER),//3
new SqlParameter("i_request_id", Types.VARCHAR),//4
new SqlParameter("i_perform_id", Types.VARCHAR),//5
new SqlParameter("i_cust_party_id", Types.VARCHAR),//6
new SqlParameter("i_cont_no", Types.VARCHAR),//7
new SqlParameter("i_inter_id", Types.VARCHAR),//8
new SqlParameter("i_cnt_chan_cd", Types.VARCHAR),//9
new SqlParameter("i_start_dt_ch", Types.TIMESTAMP),//10
new SqlParameter("i_act_code", Types.VARCHAR),//11
new SqlParameter("i_sub_act_cd", Types.VARCHAR),//12
new SqlParameter("i_act_st_cd", Types.VARCHAR),//13
new SqlParameter("i_act_sub_st_cd", Types.VARCHAR),//14
new SqlOutParameter("o_resp_cd", Types.INTEGER),
new SqlOutParameter("o_resp_msg", Types.LONGVARCHAR),
new SqlOutParameter("o_cursor", OracleTypes.CURSOR)
);
MapSqlParameterSource inputParams = new MapSqlParameterSource();
inputParams.addValue("i_act_src_cd", "ALL");//1
java.sql.Timestamp tmStmp = java.sql.Timestamp.valueOf("2010-06-03 16:47:25");
inputParams.addValue("i_end_dt_ch", tmStmp);//2
inputParams.addValue("i_limit_no", Integer.valueOf(10));//3
inputParams.addValue("i_request_id", "");//4
inputParams.addValue("i_perform_id", "");//5
inputParams.addValue("i_cust_party_id", "");//6
inputParams.addValue("i_cont_no", "");//7
inputParams.addValue("i_inter_id", "");//8
inputParams.addValue("i_cnt_chan_cd", "ALL");//9
inputParams.addValue("i_start_dt_ch", null);//10
inputParams.addValue("i_act_code", "");//11
inputParams.addValue("i_sub_act_cd", "");//12
inputParams.addValue("i_act_st_cd", "");//13
inputParams.addValue("i_act_sub_st_cd", "");//14
procReadActor.returningResultSet("TEST_RESULTSET", new SampleRowMapper());