Bronstein - Do 27.03.08 14:17
Titel: prüfen ob DB2 Datenbank erreichbar
Hallo,
ich habe ein kleines Tool geschrieben, das sich mit einer DB2-Datenbank verbindet.
Jetzt möchte ich das Programm auch an Rechnern nutzen die keine Verbindung zur Datenbank haben (Subnetz).
Hier zu möchte ich Abfragen, ob ich Zugriff auf die Datenbank habe. Und falls ich kein Zugriff habe, werden einige Features ausgeblendet.
Wie kann ich also prüfen ob die Datenbank verfügbar ist.
Ich könnte ja AdoConnection.Open in eine Try/Except-Block machen und bei einem Fehler ist die Datenbank nicht verfügbar. Das gefällt mir aber nicht, gibt es da noch ein andere Möglichkeit?
Der ConnectionString sieht folgendermaßen aus:
Quelltext
1:
| MSDASQL.1;Persist Security Info=False;Extended Properties="DSN=ABC01;UID=abc01;MODE=SHARE;DBALIAS=ABC01; |
MAlsleben - Fr 28.03.08 22:51
Hi,
ich habe das ganze mit der Indy tcpclient komponete gemacht. Einfach geprüft, ob er den DB2 Port (446) der Maschine in einer bestimmten Zeit connecten kann, wenn nicht entsprechende aktion ausführen.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23:
| try IdTCPCli1.Connect(25); VerbLoc := true; except on E: exception do begin Memo1.Lines.Add(datetimetostr(now)+' '+E.message); VerbLoc:=false; end; end; IdTCPCli1.Disconnect; if VerbLoc = true then begin ...... end else begin Application.Messagebox('Sie befinden sich nicht im lokalen Netz, '+ 'deshalb ist diese Operationm nicht zulässig!', 'F E H L E R !',MB_OK + MB_IconStop); Memo1.Lines.Add(datetimetostr(now)+' Abruch , weil nicht im lokalen Netz'); end; |
Gruß Micha