Einzelnen Beitrag anzeigen

Cashew

Registriert seit: 15. Mär 2017
24 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#4

AW: AnyDAC (FireDAC) - Exception beim schließen einer TADConnection

  Alt 21. Mär 2018, 16:13
Vielen Dank für die Antworten ...

@MEissing
Die AnyDAC hat bereits die Property DataSetCount.
Ich werde beim Schließen der Datenbankverbindungen jetzt eine Protokollierung einbauen, die über den DataSetCount prüft, ob noch Verbindungen offen sind...

@MichaelT
Bei dieser Exception habe ich leider das Problem, dass ich bisher keine Konstellation hinbekommen habe, in der der Fehler zuverlässig auftritt ...
Ich werde daher mal die Reihenfolge vom Schließen der Datenbankverbindungen, wie von Dir vorgeschlagen, umkehren... D. h. zuerst die AnyDac (FireDAC) Datenbankverbindungen schließen und dann die BDE Datenbankverbindungen ...


Könnte es auch sein das der ADManager Probleme macht? Würde es eventuell mein Problem lösen, wenn ich vor dem Schließen der AnyDAC (FireDAC) Datenbankverbindungen den ADManager deaktiviere:
Delphi-Quellcode:
procedure TfrmMain.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
  [...]
  ADManager.Active := False;
  //--------------------------------------------------------------------
  try
    dacConnection.Connected := False;
  except
    on e:exception do
      MessageDlg('dacConnection' + #13#10 + e.message, mtError, [mbOK], 0);
  end;
  //--------------------------------------------------------------------
  try
    BDEConnection.Connected := False;
  except
    on e:exception do
      MessageDlg('BDEConnection' + #13#10 + e.message, mtError, [mbOK], 0);
  end;
  [...]
end;
What goes arround, comes arround
  Mit Zitat antworten Zitat