Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi offene Datenbank-Sessions (https://www.delphipraxis.net/102305-offene-datenbank-sessions.html)

TomDooley 26. Okt 2007 13:36

Datenbank: MS SQL Server • Version: 7.0 • Zugriff über: OLE DB

offene Datenbank-Sessions
 
Hallo

Ich habe auf meiner DB immer sehr viele offene Sessions obwohl ich meiner Meinung nach alles sauber beende. Ich verwende Delphi 5.

Ein ähnliches Problem wurde bereits hier behandelt. Leider hat das alles nichts gebracht...

Mein Connection-String sieht folgendermassen aus:

Delphi-Quellcode:
ConnectionString := 'Provider=SQLOLEDB.1;OLE DB Services=-1;Persist Security Info=False;User ID=test;Password=test;Data Source=Server1;Initial Catalog=DB;Application Name=Test';
Hat jemand noch eine Idee??

Danke

Phoenix 26. Okt 2007 13:38

Re: offene Datenbank-Sessions
 
Der Connection String sorgt aber nicht dafür, dass Du auf der Connection ein .Close() aufrufst, wenn Du sie nicht mehr brauchst. Das musst Du schon selber machen.

TomDooley 26. Okt 2007 13:47

Re: offene Datenbank-Sessions
 
Ist mir klar. Das mache ich auch.

TomDooley 29. Okt 2007 13:22

Re: offene Datenbank-Sessions
 
Hat mir hierzu jemand vielleicht noch einen Tip oder soll ich zusätzliche Infos posten?

TomDooley 30. Okt 2007 13:00

Re: offene Datenbank-Sessions
 
Hier mal mein aktueller Code...

Delphi-Quellcode:
Query := TADOQuery.Create(nil);
with Query do begin
  Close;
  Connection := ADOConnection;
  ...
  SQL.Clear;
  SQL.Add(SQLStmt);
  ExecSQL;
  ...
  Close;
  Free;
end;
Query := nil;

....

if assigned(ADOConnection) then begin
  ADOConnection.Close;
  ADOConnection.free;
  ADOConnection := nil;
...

TomDooley 2. Nov 2007 14:16

Re: offene Datenbank-Sessions
 
Könnte das vielleicht auch damit zusammenhängen dass mein SQL-Statement nicht "sauber" ist? Es wird jeweils folgendes Script ausgeführt:

SQL-Code:
Set Nocount ON
Begin Transaction
Insert Into TabelleXY (A,B,C) Values (a,b,c)
Commit


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:47 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz