2009-06-23 4 views
1

Курсор PL/SQl по какой-то причине повесился, это заставляет мое приложение зависать, когда пытаешься пройти через ResultSet.
Как сгенерировать время java.sql.ResultSet

Есть ли способ справиться с этим, например, с учетом результатов, если база данных висит?

ответ

1

В интерфейсе java.sql.Statement есть setQueryTimeout (int). Вы должны вызвать его перед вызовом executeQuery().

Вы также можете асинхронно отменить выполняемый запрос, вызвав cancel() в Заявлении тоже.

Редактировать: Драйвер Oracle jdbc версии 6 поддерживает эти методы точно, поскольку я использую его в одном из моих проектов.

+0

Но убедитесь, что ваш драйвер JDBC действительно поддерживает эту функцию, поскольку он необязателен для ResultSets –

+0

@ GáborHargitai, как я могу проверить это? В частности, для провайдера драйверов DB2 Universal JDBC, я ищу Google, как сумасшедший, и не нахожу документацию, которая помогает мне :( – Delfic

Смежные вопросы