无法将数据插入IDAA服务器中的AOT(仅汇总表)表中

时间:2019-07-30 15:59:10

标签: db2 accelerator

我正在尝试从Java向AOT表插入几条记录。正在使用DriverManager连接(通过在连接URL中设置特殊寄存器)进行插入。但是当使用数据源连接时,INSERT查询由于以下异常而失败。

使用相同的数据源连接,此AOT表的SELECT查询工作正常。

com.ibm.db2.jcc.am.SqlException: DB2 SQL Error: SQLCODE=-4742, SQLSTATE=560D5, SQLERRMC=24, DRIVER=4.24.92

我能够从AQT查询工具插入AOT。我应该在Java端还是在DB Server端为INSERT查询添加任何其他配置? Java代码插入表如下:

@Stateless
@LocalBean
public class MyDLService {

    @Resource(lookup = "jdbc/db2_schema")
    private DataSource dataSource;

    public void insert(Set<Key> keys) {
        try(Connection connection = dataSource.getConnection()) {
            PreparedStatement ps = connection.prepareStatement("INSERT INTO SCHEMA.AOT_TABLE (ID, CPOINT_ID) values (?,?)");
            int count = 0;
            for (Key key : keys) {
                ps.setLong(1, 1);
                ps.setLong(2, key.getPointId());
                ps.addBatch();

                if (++count % 1000 == 0) {
                    ps.executeBatch();
                }
            }
            ps.executeBatch();
            ps.close();
        } catch (SQLException e1) {
            e1.printStackTrace();
        }
}

0 个答案:

没有答案