유휴 데이터베이스 연결이 끊어졌습니다.

유휴 데이터베이스 연결이 끊어졌습니다.

데이터베이스 서버(Firebird)에 연결하고 쿼리를 실행할 수 있지만 일정 기간 동안 활동이 없으면 다음 쿼리 시도에서 다음 오류가 발생합니다.

Unable to complete network request to host "XX.XX.XX.XX".
Error writing data to the connection.
An existing connection was forcibly closed by the remote host. .

SQL Error (code = -902):
Unsuccessful execution caused by a system error that precludes
successful execution of subsequent statements.

Firebird Maestro(관련성 알 수 없음)를 사용하여 대화식으로 작업할 때 이 오류가 발생한 후 Maestro에게 연결을 끊으라고 지시합니다. 그런 다음 쿼리를 실행할 수 있습니다.

시간 초과가 Firebird나 Linux 서버 또는 네트워크의 다른 곳에서 발생하는지 모르고 Linux나 AWS 또는 네트워크에 대해 충분히 알지 못해 가능성을 찾을 수 있는 곳이 어디인지 알 수 없습니다. (아주 작은 회사에서 프로그래머로 일하는 즐거움)

답변1

시간 초과가 발생하는 위치에 관계없이 이에 대비해야 합니다. 시간 초과가 여러 번 설정되어 일정 기간 동안 활동이 없으면 연결이 끊어질 수도 있습니다.

연결 풀링 라이브러리를 사용하고 현재 관찰되는 것보다 짧은 시간 초과를 지정하는 것이 가장 좋습니다(허용할 수 없을 정도로 낮은 경우가 아니면).

배포에 대해 자세히 설명하면 도움이 될 수 있지만 궁극적으로는 클라이언트 측을 수정해야 한다고 생각합니다.

관련 정보