Java 中 IS TABLE OF NUMBER(5) INDEX BY BINARY_INTEGER
的类型是什么? OracleTypes.ARRAY
给出 ORA-03115 异常
。
更新:全类:
@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);
}
}
最佳答案
没有这样的类型。在java中使用oracle关联数组是非常有限的。 OraclePreparedStatement/OracleCallableStatement 类中有 4 个方法可以实现此目的。 https://docs.oracle.com/database/121/JJDBC/oraint.htm#JJDBC28179 。
文档适用于 Oracle 12,但它也应该适用于 Oracle 9+
关于java - Oracle 是 Java 中 BINARY_INTEGER 类型的 NUMBER(5) 索引表吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48641418/