Java DB2JDBC驱动程序(类型4)挂起在Execute()上

Java DB2JDBC驱动程序(类型4)挂起在Execute()上,java,jdbc,db2,websphere,execute,Java,Jdbc,Db2,Websphere,Execute,我正在DB2服务器上使用JDBC连接执行一系列sql语句。在简单sql:DELETE FROM MYTABLE的最后一个execute()中,即使表somply包含一条记录,线程也会挂起很长一段时间 我使用的应用服务器是WAS。我想知道这是否是WAS和DB2组合特有的问题,因为相同的代码可以在其他环境中工作 有人知道这里发生了什么吗?删除数据库中的行可能是一项糟糕的工作:不要忘记数据库服务器将记录表中的所有数据,以防回滚。然后我假设问题来自数据库,尤其是当表有许多行时 您是否尝试过在交互式环境中

我正在DB2服务器上使用JDBC连接执行一系列sql语句。在简单sql:
DELETE FROM MYTABLE
的最后一个
execute()
中,即使表somply包含一条记录,线程也会挂起很长一段时间

我使用的应用服务器是WAS。我想知道这是否是WAS和DB2组合特有的问题,因为相同的代码可以在其他环境中工作


有人知道这里发生了什么吗?

删除数据库中的行可能是一项糟糕的工作:不要忘记数据库服务器将记录表中的所有数据,以防回滚。然后我假设问题来自数据库,尤其是当表有许多行时


您是否尝试过在交互式环境中手动运行所有SQL请求?

删除数据库中的行可能是一项糟糕的工作:不要忘记数据库服务器将记录表中的所有数据,以防回滚。然后我假设问题来自数据库,尤其是当表有许多行时


您是否尝试在交互式环境中自己手动运行所有SQL请求?

您是否直接从CLP发出命令?可能是其他问题,例如:

  • 事务日志问题:有很多行要删除,这需要时间。此外,事务日志已达到限制,数据库不执行回滚,而是等待其他事务释放空日志
  • 锁问题(并发):您尝试删除的某些行在其他事务中具有锁,应用程序必须等待释放它们(锁等待)

另外,尝试频繁提交。

您是否直接从CLP发出命令?可能是其他问题,例如:

  • 事务日志问题:有很多行要删除,这需要时间。此外,事务日志已达到限制,数据库不执行回滚,而是等待其他事务释放空日志
  • 锁问题(并发):您尝试删除的某些行在其他事务中具有锁,应用程序必须等待释放它们(锁等待)

此外,请尝试频繁提交。

正如我在问题中提到的,表格中只有一条记录正如我在问题中提到的,表格中只有一条记录。请检查我对以前回答的答复。我在我的开发环境中尝试过,其他人没有使用过。您完全确定,您是否执行了“db2pd-wlocks"? 结果如何?可能是您从另一个连接(如control center)锁定了行。@MozenRath我正在使用DB2,当表被另一个应用程序中使用的简单select命令锁定时,这些问题总是会发生。确保表没有被锁定,并再次尝试删除记录。正如你们所说的。另一个连接锁定了表。此连接来自同一应用程序。通常你会认为这个连接会被gc破坏,但事实并非如此。我添加了代码来关闭它,现在它可以工作了。请检查我对以前回答的答复。我在我的开发环境中尝试过,其他人没有使用过。您完全确定,您是否执行了“db2pd-wlocks”?结果如何?可能是您从另一个连接(如control center)锁定了行。@MozenRath我正在使用DB2,当表被另一个应用程序中使用的简单select命令锁定时,这些问题总是会发生。确保表没有被锁定,并再次尝试删除记录。正如你们所说的。另一个连接锁定了表。此连接来自同一应用程序。通常你会认为这个连接会被gc破坏,但事实并非如此。我添加了代码来关闭它,现在它工作了除了任何其他答案之外,我们可以看看你的一些java代码,只是为了抽查一下吗?我会在一段时间后发布它,但请记住,此代码适用于所有其他配置,如sql server+WAS、Oracle+WAS等。除了任何其他答案之外,我们可以看看你的一些java代码,只是为了抽查一下?我会在一段时间后发布,但请记住,此代码适用于所有其他配置,如sql server+WAS、Oracle+WAS等