Hallo,
bin noch Delphi Anfänger und habe es mit einiger Mühe hinbekommen, zu unserer postgresql Datenbank eine Verbindung herzustellen (mit
http://pgfoundry.org/projects/oledb/). Meine Anwendung lädt nach dem Starten einige Daten aus der
DB, und damit ist das Thema eigentlich erledigt, also trenne ich die Verbindung (...denke ich zumindest)
Jetzt habe ich aber mit dem Tool pgAdmin III (->ServerStatus) festgestellt, dass die Verbindung so lange bestehen bleibt, bis das Programm beendet wird.
Im Prinzip stelle ich die Verbindug so her:
Code:
ADOConn := TADOConnection.Create(self);
ADOConn.ConnectionString := ConnStr;
ADOConn.LoginPrompt := False;
ADOConn.KeepConnection:=false;
ADOQuery := TADOQuery.Create(ADOConn);
ADOQuery.Connection := ADOConn;
ADOConn.Connected := True;
Beim Trennen verwende ich (alles möglich probiert):
Code:
ADOQuery.Free;
ADOConn.Connected:=false;
ADOConn.Close;
ADoconn.Free;
Gleiches rufe ich auch beim Beenden des Programms im Destruktor auf, und wie gesagt, wenn ich das Programm beende, dann wird die Verbindung getrennt, aber nur dann, nicht, solange das Programm offen ist.
Zusätzlich habe ich nach dem Beenden immer im postgresql Log diesen Eintrag:
"LOG unerwartetes EOF auf Client-Verbindung"
Hat jemand eine Idee ?
Vielen Dank
Christof