Oracle是数字表(5)索引BINARY_INTEGER键入Java?

时间:2018-02-06 10:59:52

标签: java oracle

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);
    }
}

1 个答案:

答案 0 :(得分:2)

没有这种类型。使用java中的oracle关联数组是非常有限的。 OraclePreparedStatement/OracleCallableStatement类中有4种方法允许这样做。 https://docs.oracle.com/database/121/JJDBC/oraint.htm#JJDBC28179

文档适用于oracle 12,但它也适用于oracle 9 +