Ich arbeite mit UniDAC und mache das bisher auch immer ganz simpel in einem try..except.
Ganz vereinfacht:
Delphi-Quellcode:
try
SQLCon.Connect;
except
GlobalLog.Add('Verbindungsversuch zu '+SQLCon.Servername+' fehlgeschlagen');
end;
Man sollte allerdings um es ganz korrekt zu haben, die
Exception-Klasse auch auswerten.
Das am liebsten in einem Thread, sodass mir das UI beim Warten auf den Timeout nicht einfriert. Wirft keine sichtbaren Exceptions. (Man braucht aber natürlich einen
SQL-User dafür, der sich zumindest verbinden darf. Ansonsten bräuchte es ja ein Login-Prompt.)
Danke Dir! Einen Thread aufzumachen ist wohl eine Variante, um das Hourglass zu vermeiden. Elegant ist ja, wenn der User nicht offensichtlich mitkriegt, dass man erst mal nachschaut, ob der Server verfügbar ist.
Ich dachte an ein einfaches Ping, das mir true/false zurückgibt ...