在什么情况下,下面的语句
PreparedStatement.executeQuery()
不返回或抛出异常?
发布于 2009-06-07 06:47:16
这取决于您正在使用的数据库和配置的隔离级别。一个常见的默认情况是,如果您试图选择在另一个尚未提交的事务中已更新的记录,则SELECT将阻塞。
您是否正在尝试选择未提交的数据?您使用的是什么数据库?
或者,您的查询可能只是花费了很长时间。通过某些数据库工具运行查询来消除(或确认)这种可能性。
您可能还想调用setQueryTimeout(),这样查询就不会“永远”阻塞。
发布于 2009-06-07 14:22:20
如果它没有返回,那么它仍然在运行您的查询,或者仍然在获取结果。
尝试使用某种数据库工具在java之外运行查询,并确保它能及时执行。
https://stackoverflow.com/questions/961340
复制相似问题