Einzelnen Beitrag anzeigen

Sascha-L

Registriert seit: 14. Nov 2007
Ort: Finnentrop
50 Beiträge
 
Delphi 7 Professional
 
#1

Firebird schließt Verbindungen nicht... 100% CPU last

  Alt 14. Nov 2007, 07:51
Datenbank: Firebird • Version: 1.5 • Zugriff über: Delphi 4 BDE
Guten Tag,

Ich habe folgendes Problem:

Ich habe mehrere Datenbanken auf einem Server liegen, auf diesen Server greifen mehrere PC´s mit jeweils meherern Programmen zu.
Ich benutze Firebird 1.5 und das System läuft auch schon seit mehreren Jahren Stabil, jedoch habe ich seit neustem das Problem, dass Firebird einfach nicht mehr reagiert und kein client mehr auf die Datenbanken zugreifen kann. Auffällig ist hierbei dass der Firebird zu viele offene Verbindungen hat und teilweise eine CPU last von 100% verursacht. Die Programme, die auf die Datenbanken zugreifen wurden mit Delphi 4 Programmiert und verwenden die BDE.

Wenn Probleme während des Zugriffs auf die Datenbank auftreten sollten, werden diese mit einem 'Try - Except' Block abgefangen um Fehler zu vermeiden. Ist es Sinnvoll, den Datenbank aufruf nocheinmal zu versuchen, wenn Fehler aufgetreten sind oder eher nicht ?

Hier ist mal ein Auszug des Delphicodes, der für den Datenbankzugriff zustaändig ist:

Delphi-Quellcode:
Begin
  //H_UnWert := StrToIntDef(Edit1.text,0);
  H_UnWert := StrToIntDef(Edit1.Text,0);
  H_ObWert := StrToIntDef(Edit2.Text,0);
  Query1.DisableControls;
  If DataBase1.InTransaction = False Then DataBase1.StartTransaction;
  Try
   With Query1 Do
    Begin
      Close;
      SQL.Clear;
      HlpStr := 'Select * From ReadAuftragsHeaderIntervall(';
      HlpStr := Concat(HlpStr,IntToStr(H_UnWert),',',IntToStr(H_ObWert),')');
      SQL.Add(HlpStr);
      Active := True;
      DataBase1.Commit;
    End;
  Except
    DataBase1.RollBack;
  End;
  Query1.EnableControls;
End;
Meine Fragen sind nun:

1. Woran könnte es liegen, dass aufeinmal diese Probleme auftreten ?
2. Gibt es ein Tool oder ein Programm mit dem ich herausfinden kann welche(s) Programm(e) die Probleme verursacht ?

Ich hoffe, ihr könnt mir weiterhelfen

MfG Sascha
Sascha Lütkemeier
  Mit Zitat antworten Zitat