Hallo alle miteinander,
ich habe ein Problem mit einer ADOConnection und brauche eure Hilfe.
Ich habe eine Datenbankverbindung, die ab und an abbricht, weil mein Netzwerk zusammenbricht.
Nun habe ich schon verschiedene Möglichkeiten probiert, um die Verbindung nach dem Zusammenbruch wiederherzustellen.
Aktuell ist dies mein Quellcode zum Wiederaufbau der Verbindung:
Delphi-Quellcode:
//Globale Variable
var
ADOC_CNC: TADOConnection;
//Funktion zum Test der Verbindung
function Test_CNCDB: boolean;
var
slHilf: TStringList;
begin
slHilf:=TStringList.Create;
Result:=ADOC_CNC.Connected;
try
try
if Result
then
ADOC_CNC.GetTableNames(slHilf);
except
Result:=false;
end;
finally
slHilf.Free;
end;
end;
//Funktion zum Herstellen der Verbindung
function Open_CNCDB: boolean;
begin
Result:=true;
try
if Test_CNCDB
then
begin
if Close_CNCDB
then
begin
ADOC_CNC.ConnectionString:='...';
ADOC_CNC.LoginPromt:=false;
end
else
begin
//Fehler beim Trennen der Verbindung
end
end
else
begin
ADOC_CNC.ConnectionString:='...';
ADOC_CNC.LoginPromt:=false;
end;
ADOC_CNC.Open;
except
Result:=false;
end;
end;
//Funktion zum Trennen der Verbindung
function Close_CNCDB:boolean;
begin
Result:=true;
try
ADOC_CNC.Close;
except
Result:=false;
end;
end;
//Nun das Wiederherstellen der Verbindung im eigentlichen Programm
if not Test_CNCDB
then
begin
Close_CNCDB;
if Open_CNCDB
then
//Wiederaufbau der Verbindung erfolgreich
else
//Verbindung konnte nicht wieder hergestellt werden
end;
Habt ihr ne Idee, warum der Wiederaufbau der Verbindung nie klappt?
Ich probiere seit Tagen an diesem Code rum und bekomme es einfach nicht hin.