1
저는 Delphi 7과 ZeosLib 6.6.5를 사용하여 Windows 백그라운드 서비스를 개발 중입니다.데이터베이스 연결이 아직 살아 있는지 확인하십시오.
이 서비스는 연중 무휴로 실행되며 원격 서버에있는 Firebird 데이터베이스 (버전 2.1)와 상호 작용하므로 서비스가 계속 통신 할 수 있는지 확인해야합니다.
이렇게하는 가장 좋은 방법은 무엇입니까? 데이터베이스에서 작업을 수행하기 전에 TZConnection에서 Ping 또는 PingServer 함수를 사용합니까?
좋은 하루 보내십시오.
1) 당신은 연결이 여전히 유효한지 테스트 (나는 많은 프로젝트에서 같은 메도 사용) 활성 세션을 유지하는 ZConnection.reconnect을 사용해야합니다 잃으면 어떻게 든 네트워크 연결이 끊어지고 서버가 사라지고 수백 가지의 다른 일이 일어날 수 있습니다 3) 함수가 "예, 연결이 여전히 유효합니다"를 반환합니다. 4) 검사를 실행 한 항목이 무엇이든간에 계속 실패합니다. 어쨌든*. 그렇다면 1-3을 건너 뛰고 (*) 어쨌든 * 해당 코드를 작성해야하므로 (4)를 처리하는 코드를 작성하십시오. –
완료되면 연결을 끊고 데이터베이스가 다시 필요할 때 다시 연결하십시오. 데이터베이스 오류를 처리하십시오. 이렇게하면 연결 시간이 초과되지 않습니다. 정상적인 데이터베이스 오류를 처리하면 더 강력 해집니다. –