executeQuery()没有返回

时间:2009-06-07 06:41:20

标签: java jdbc

是否存在以下声明的条件

PreparedStatement.executeQuery()

不会返回或抛出异常?

2 个答案:

答案 0 :(得分:6)

这取决于您使用的数据库和配置的隔离级别。一个常见的默认设置是,如果您尝试选择已在另一个尚未提交的事务中更新的记录,则SELECT将阻止。

您是否尝试选择未提交的数据?你在用什么数据库?

或者您的查询可能需要很长时间。通过某些数据库工具运行查询,消除(或确认)这种可能性。

您可能还想调用setQueryTimeout(),以便查询不会“永久”阻止。

答案 1 :(得分:1)

如果它还没有返回,那么它仍然在运行您的查询,或者仍在提取结果。

尝试使用某种数据库工具在java之外运行查询,并确保它及时执行。