JavaDB2错误SQLCODE=-913sqlstate=57003 SQLERRMC=schema.table;表,驱动器=4.1xxx
我编写了一个简单的Java应用程序,它基本上执行一个由4个联接表组成的JavaDB2错误SQLCODE=-913sqlstate=57003 SQLERRMC=schema.table;表,驱动器=4.1xxx,java,jdbc,db2,Java,Jdbc,Db2,我编写了一个简单的Java应用程序,它基本上执行一个由4个联接表组成的SELECTSQL语句。然后执行SQL语句并将其保存到resultSet。当我在300K+中的200K+记录的结果集中循环时,我收到以下错误消息: SQLCODE=-913sqlstate=57003 SQLERRMC=schema.table;表,驱动器=4.1xxx 根据我到目前为止读到的内容,这意味着这是一个死锁错误。在如此小的结果集(300K)和select语句上是否可能发生这种情况?当两个或多个事务处于互相锁定等待的
SELECT
SQL语句。然后执行SQL语句并将其保存到resultSet
。当我在300K+中的200K+记录的结果集
中循环时,我收到以下错误消息:
SQLCODE=-913sqlstate=57003 SQLERRMC=schema.table;表,驱动器=4.1xxx
根据我到目前为止读到的内容,这意味着这是一个死锁错误。在如此小的结果集(300K)和select语句上是否可能发生这种情况?当两个或多个事务处于互相锁定等待的循环中,并且锁定超时不会中断该循环时,会发生死锁。默认情况下,当在表或索引扫描期间执行行锁定时,DB2会在确定行是否符合查询条件之前锁定每一行。很可能是表或索引扫描花费的时间太长,并且还有其他挂起的事务
下面是一篇关于DB2锁的精彩文档。还有一些关于如何解决锁定问题的建议。当两个或多个事务处于相互锁定等待的循环中,并且锁定超时不会打破该循环时,就会发生死锁。默认情况下,当在表或索引扫描期间执行行锁定时,DB2会在确定行是否符合查询条件之前锁定每一行。很可能是表或索引扫描花费的时间太长,并且还有其他挂起的事务
下面是一篇关于DB2锁的精彩文档。还有一些关于如何解决锁定问题的建议。你能发布你的代码吗?如果代码太大,请使用死锁或超时。检查原因代码以确定哪一个,2=事务分支因死锁而失败,68=事务分支因锁定超时而失败,72=事务因涉及事务的DB2数据链接管理器的错误而回滚,80=语句因超时而失败您可以发布代码吗?如果代码太大,请使用死锁或超时。检查原因代码以确定哪一个,2=事务分支因死锁而失败,68=事务分支因锁定超时而失败,72=事务因涉及事务的DB2数据链接管理器的错误而回滚,80=语句因超时而失败,请考虑其他可能对您有帮助的内容。您可以将结果置于只读模式。我只是想做点别的可能对你有帮助的事。您可以将结果置于只读模式。