2011-07-28 1 views
1

Java 응용 프로그램에서 DB 연결 풀링을 사용합니다. 이 오류로 오늘 기능이 중단되었습니다. [BEA] [SQLServer JDBC 드라이버] 읽을 수있는 데이터가 더 이상 없음오류 수정 방법 : [BEA] [SQLServer JDBC 드라이버] 읽을 수있는 데이터가 더 이상 없습니다.

일일 발생하지 않습니다. 일단 응용 프로그램 서버를 다시 시작하면 며칠 동안 문제가 없으며이 오류는 다시 발생합니다.

누구든지이 오류가 발생했습니다. 이유는 다를 수 있지만 문제를 해결할 수있는 여러 가지 이유를 알고 싶습니다.

답변

1

데이터베이스 또는 네트워크 연결이 잠시 중단되었을 수 있습니까? 현재 열려있는 결과 세트가 결과 오류로 인해 유효하지 않게 될 것으로 예상 할 수 있습니다.

이 특별한 오류는 본 적이 없지만 BEA 또는 SQL Server에서는 작동하지 않지만 빠른 Google에서는 그러한 원인을 제안하는 사람들을 보여줍니다.

연결 풀을 사용할 때 이러한 글리치가 발생하면 모든 풀의 연결이 "부실함"또는 유효하지 않게됩니다. 내 응용 프로그램 서버 (WebSphere)에는 특정 오류가 감지 된 후 전체 연결 풀을 삭제할 수있는 옵션이 있습니다. 결과적으로 하나의 불운 한 요청은 오류를 보지만 후속 요청은 새로운 연결을 가져 와서 복구됩니다. 전체 풀을 버리지 않으면 부실 연결이 사용되거나 폐기 될 때마다 실패합니다.

a)을 (를) 조사하는 것이 좋습니다. 앱 서버에 이러한 기능이 있는지 여부 b). 데이터베이스가 반송 된 경우 응용 프로그램이 어떻게 응답하는지,이 오류를 복제하면 원인을 발견했을 수 있습니다.

+0

thnq. 나는 'Google'도했다. 그리고 네가 언급 한 것은 가능한 이유처럼 보인다. WebLogic에서 부실 연결이나 유효하지 않은 연결을 처리하는 한 가지 방법은 Test Frequencyy 초를 1로 설정하여 WebLogic이 연결을 1 초마다 테스트하고 오래된 연결을 새 연결로 바꾸도록하는 것입니다. 나는 다른 이유도있을 수 있는지 찾고있었습니다. 이 오류를 경험 한 사람이있을 수 있습니다 !!! – rajugaadu

관련 문제