Witam
Jestem troszkę zielona z progamowania w Delphi a mam pewien projekt bez specyfikacji.
Opis problemu:
program łączy się z bazą na MSSQL'u poprzez AdoDB, który to komponent nie posiada własności informowania iż padło połączenie z bazą(lub nie ma go).
Jak sprawdzić czy baza jest aktywna(serwer chodzi)?
Próbowałam tak[funkcja sprawdzająca:Bool]:
var
qSch : TADOQuery;
begin
qSch := TADOQuery.Create(nil);
with qSch do
try
qSch.Connection := SQLConn;
SQL.Clear;
SQL.Add('SELECT 1');//<--- w tym miejscu zawisa mi na __aż__ 10 sekund i się wywala
qSch.Open;
except on E: Exception do
begin
result := false;
end;
end;
if(result and Assigned(qSch)) then
qSch.Free;
end;
Jak zrobić sprawdzanie połączenia z bazą na MsSQL'u szybciej i ładniej????
Pozdrawiam,
Ania.
p.s. przy zerwaniu połączenia działa, ale przy sprawdzaniu czy można je wznowić wywala się :(