Java中IS TABLE OF NUMBER(5) INDEX BY BINARY_INTEGER
的类型是什么? OracleTypes.ARRAY
提供ORA-03115 exception
。
更新:全班:
@Repository
public class MerchantEmvRepository {
private SimpleJdbcCall updateMerchantEmvTerminalData;
DataSource dataSource;
@Autowired
public MerchantEmvRepository (DataSource dataSource) {
this.dataSource = dataSource;
}
@Autowired
public void setDataSource (){
JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
jdbcTemplate.setResultsMapCaseInsensitive(true);
this.updateMerchantEmvTerminalData
= new SimpleJdbcCall(jdbcTemplate)
.declareParameters(new SqlOutParameter("RetCodeType", OracleTypes.ARRAY))
.withCatalogName("data")
.withoutProcedureColumnMetaDataAccess()
.withFunctionName("update_merch_emv");
}
public Array updateMerchantEmvTerminalData (String merchantId) {
SqlParameterSource incomingParameters = new MapSqlParameterSource().addValue("i_merch_id", merchantId);
return updateMerchantEmvTerminalData.executeFunction(Array.class, incomingParameters);
}
}
答案 0 :(得分:2)
没有这种类型。使用java中的oracle关联数组是非常有限的。 OraclePreparedStatement/OracleCallableStatement
类中有4种方法允许这样做。 https://docs.oracle.com/database/121/JJDBC/oraint.htm#JJDBC28179。
文档适用于oracle 12,但它也适用于oracle 9 +