java - Oracle 是 Java 中 BINARY_INTEGER 类型的 NUMBER(5) 索引表吗?

标签 java oracle

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/

相关文章:

java - Hibernate使用deleted属性处理已删除的对象

java - bufferwriter 不适用于 java 服务器和 android 客户端

sql - 优化广泛使用 IN 子句的 Oracle SQL 查询

java.sql.SQLException : Invalid column name 异常

sql - Oracle PL/SQL 上年和上月

sql - 查找时间戳和标识不按顺序排列的行的有效方法是什么?

java - JLabel 设置为文本列表项

java - 如何为特定类和包设置日志级别?

java - 相机围绕模型移动

sql - Oracle APEX 主详细信息页面创建 : ORA-06531 error