2015-01-07 5 views
1

저는 Delphi 7과 ZeosLib 6.6.5를 사용하여 Windows 백그라운드 서비스를 개발 중입니다.데이터베이스 연결이 아직 살아 있는지 확인하십시오.

이 서비스는 연중 무휴로 실행되며 원격 서버에있는 Firebird 데이터베이스 (버전 2.1)와 상호 작용하므로 서비스가 계속 통신 할 수 있는지 확인해야합니다.

이렇게하는 가장 좋은 방법은 무엇입니까? 데이터베이스에서 작업을 수행하기 전에 TZConnection에서 Ping 또는 PingServer 함수를 사용합니까?

좋은 하루 보내십시오.

+1

1) 당신은 연결이 여전히 유효한지 테스트 (나는 많은 프로젝트에서 같은 메도 사용) 활성 세션을 유지하는 ZConnection.reconnect을 사용해야합니다 잃으면 어떻게 든 네트워크 연결이 끊어지고 서버가 사라지고 수백 가지의 다른 일이 일어날 수 있습니다 3) 함수가 "예, 연결이 여전히 유효합니다"를 반환합니다. 4) 검사를 실행 한 항목이 무엇이든간에 계속 실패합니다. 어쨌든*. 그렇다면 1-3을 건너 뛰고 (*) 어쨌든 * 해당 코드를 작성해야하므로 (4)를 처리하는 코드를 작성하십시오. –

+1

완료되면 연결을 끊고 데이터베이스가 다시 필요할 때 다시 연결하십시오. 데이터베이스 오류를 처리하십시오. 이렇게하면 연결 시간이 초과되지 않습니다. 정상적인 데이터베이스 오류를 처리하면 더 강력 해집니다. –

답변

1

사용 ZConnection.ping 연결을 teste하기 위해, 당신은 (