Actually i am stuck with quite a time now regarding the below issue. Does anyone has implemented Oracle Stored procedure calling through Java, i have implemented but getting the below error 'invalid column type 16 error'
"stack_trace":"org.springframework.jdbc.UncategorizedSQLException: CallableStatementCallback; uncategorized SQLException for SQL [{call POST_CYCLE_TFO_STAT_PKG.INSERT_CYCLE_STATUS(?, ?, ?, ?)}]; SQL state [99999]; error code [17004]; Invalid column type: 16; nested exception is java.sql.SQLException: Invalid column type: 16\r\n\tat org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:89)\r\n\tat org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:81)\r\n\tat org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:81)\r\n\tat org.springframework.jdbc.core.JdbcTemplate.translateException(JdbcTemplate.java:1443)\r\n\tat org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:1108)\r\n\tat org.springframework.jdbc.core.JdbcTemplate.call(JdbcTemplate.java:1147)\r\n\tat org.springframework.jdbc.core.simple.AbstractJdbcCall.executeCallInternal(AbstractJdbcCall.java:412)\r\n\tat org.springframework.jdbc.core.simple.AbstractJdbcCall.doExecute(AbstractJdbcCall.java:372)\r\n\tat org.springframework.jdbc.core.simple.SimpleJdbcCall.execute(SimpleJdbcCall.java:198)\r\n\tat com.mastercard.settlment.axon.payment.request.status.dao.AxonPaymentRequestCycleEventStatusDao.getCycleEventStatus(AxonPaymentRequestCycleEventStatusDao.java:46)\r\n\tat
my procedure syntax is:
PROCEDURE insert_cycle_status (SETTLEMENT_DATE_MANUAL IN DATE,
DEBUG_FLAG IN OUT BOOLEAN,
ERROR_INFO OUT VARCHAR2,
RESULT OUT BOOLEAN);
And my Java code is like below:
SimpleJdbcCall call = new SimpleJdbcCall(jdbcTemplate)
.withoutProcedureColumnMetaDataAccess()
.withProcedureName(CYCLE_EVENT_STATUS_PROCEDURE)
.declareParameters(new SqlParameter("SETTLEMENT_DATE_MANUAL", Types.DATE))
.declareParameters(new SqlParameter("DEBUG_FLAG", Types.BOOLEAN))
.declareParameters(new SqlOutParameter("ERROR_INFO", Types.VARCHAR))
.declareParameters(new SqlOutParameter("RESULT", Types.BOOLEAN));
SqlParameterSource in = new MapSqlParameterSource()
.addValue("SETTLEMENT_DATE_MANUAL", null)
.addValue("DEBUG_FLAG", 1);
Map<String, Object> result = call.execute(in);
Can anyone share any pointers on this, regarding the issue, it will be really helpful. Thanks! In Advance
VARCHAR2parameter. I have no idea about java. but except for this issue, I am not able to see any other. - Popeye