我有一个使用JBDC连接池在Snowflake中插入(仅插入和选择API调用)记录的API。当我配置连接池大小> 20
net.snowflake.client.jdbc.SnowflakeSQLException: Statement 'YY' has locked table 'XXX' in transaction ZZ and this lock has not yet been released.
我正在使用Java和dbcp2作为连接池。下面是我的代码示例
try{
conn = snowflakeconnection.getDataSource().getConnection();
conn.setAutoCommit(false);
PreparedStatement pstmt = conn.prepareStatement(INSERTSQL);
pstmt.executeQuery();
conn.commit();
} catch (Exception e) {
conn.rollback();
} finally {
if (!conn.isClosed()) {
conn.setAutoCommit(false);
conn.close();
}
}
我不确定为什么在Snowflake中将表锁定为插入语句。当我将连接池配置为<20并且没有出现表锁定异常时,代码可以正常工作。我确实调查了雪花论坛和社区,但没有得到相关解释。你能帮我这个忙吗? ?以及这里出了什么问题。