2009-06-07 4 views
1

다음 조건문이 존재하는 조건이 있습니까?executeQuery()가 반환되지 않음

PreparedStatement.executeQuery()

이 예외를 반환하지 않거나 예외를 throw하지 않습니까?

+0

나는 그럴 필요가있을 때 예외를 throw하지 못한다는 것을 의미한다고 생각합니까? 오류없이 실행되면 예외를 throw하지 않습니다. –

답변

6

사용중인 데이터베이스와 구성된 격리 수준에 따라 다릅니다. 일반적으로 커밋되지 않은 다른 트랜잭션에서 업데이트 된 레코드를 선택하려고하면 SELECT가 차단됩니다.

커밋되지 않은 데이터를 선택하려고합니까? 어떤 데이터베이스를 사용하고 있습니까?

다른 방법으로는 쿼리가 너무 오랜 시간이 걸릴 수도 있습니다. 일부 데이터베이스 도구를 통해 쿼리를 실행하여이 가능성을 없애거나 확인하십시오.

setQueryTimeout()으로 전화하여 쿼리가 "영원히"차단되지 않도록 할 수도 있습니다.

+0

확인을 눌러 쿼리를 업데이트 할 수 있습니까? 자세한 내용은 어디에서 확인할 수 있습니까? –

+0

http://en.wikipedia.org/wiki/Isolation_(database_systems) – cletus

+0

@cletus : 실행중인 쿼리가없고이 행에서 중지 된 경우 "resultSet = preparedStatement.executeQuery()".. ?? – Bryan

1

반환하지 않으면 여전히 쿼리가 실행 중이거나 여전히 결과를 가져 오는 중입니다.

일종의 데이터베이스 도구를 사용하여 java 외부에서 쿼리를 실행하고시기 적절하게 실행되는지 확인하십시오.

관련 문제