Запрос SQL Server вызывает исключение тупиковой ситуации на rs.next - PullRequest
0 голосов
/ 22 марта 2019

Мы запускаем оператор SELECT с использованием подготовленного состояния.executeQuery в базе данных SQL Server. Запрос не выполняется с ожидаемой исключительной ситуацией. Проблема здесь в том, что исключение выдается не в executeQuery, а в тот момент, когда мы выполняем rs.next (), т.е. при чтении набора результатов. Есть ли причина для такого поведения? Что мы можем сделать, чтобы оно выдало исключение в executeQuery?

Баночка с драйвером - sqljdbc4 - 4.0.2206.100

Java версия - 1.8

Выполненный запрос: SELECT Col1 from Table1 where Col2 = ?

Ошибка трассировки:

com.microsoft.sqlserver.jdbc.SQLServerException: Transaction (Process ID 66) was deadlocked on lock resources with another process and has been chosen as the deadlock victim. Rerun the transaction.
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:217)
at com.microsoft.sqlserver.jdbc.SQLServerResultSet$FetchBuffer.nextRow(SQLServerResultSet.java:6357)
at com.microsoft.sqlserver.jdbc.SQLServerResultSet.fetchBufferNext(SQLServerResultSet.java:1798)
at com.microsoft.sqlserver.jdbc.SQLServerResultSet.next(SQLServerResultSet.java:1049)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...