SQL DMO, Speicher wird immer voller

11. April 2012 16:21

Hallo,

wir nutzen die SQL DMO.
Wir haben beim Datenexport das Problem, dass die Speichernutzung (sämtlicher Arbeitsspeicher des Clients) immer mehr wird.
z.B. Nach dem ersten Export wird ein Gigabyte genutzt, nach dem zweiten Export 2 GB usw. solange, bis der Client abstüzt mit einer Fehlermeldung.
Solange der Client Client offen bleibt, wird der Speicher nicht freigegeben.

Hat einer von Euch eine Idee, wie ich dieses in den "Griff" bekommen kann?
Ich habe zwar schon nach CLOSE und KILLProzess geschaut, aber hier komme ich nicht weiter. Weiß nicht mal, ob das überhaupt was bringt?!

Kann es sein, das KILLSESSION nur für die Nav-SQL Session geeignet ist?

Folgender Code wird im "groben" genutzt.
Code:
//Sitzung
IF ISCLEAR(SQLServer) THEN BEGIN
  CREATE(SQLServer);
END;
//Server verbinden
SQLServer.Connect(LEinrichtungRec.Servername,LEinrichtungRec.Benutzer,LEinrichtungRec.Kennwort);

// Mach irgendwas ...Export

//Verbindung trennen
SQLServer.DisConnect;

//alles auto clearen
CLEAR(SQLQueryResults);
CLEAR(SQLServer);


Lieben Dank im Voraus, LG Michael

Re: SQL DMO, Speicher wird immer voller

11. April 2012 16:31

Mal abgesehen davon, dass diese Funktionalität in der nächsten Version des SQL- Servers nicht mehr unterstützt wird (hier).

Wie ist denn das Caching der NAV- Datenbank eingestellt? (Datei\Datenbank\ändern\Erweitert\Datensatzmenge) In 2009 steht hier ein Wert von 50, in älteren Versionen 500. Ändert sich etwas, wenn du diesen Wert verkleinerst?
Welches Programm frisst denn den Speicher NAV oder etwas anderes?

Gruß, Fiddi

Re: SQL DMO, Speicher wird immer voller

12. April 2012 10:06

Danke für Deine Antwort :)

Ja, es ist mir bekannt, dass die DMO durch die ADO abgelösst wurde.

Es war 500 eingestellt (Nav 5.0 SP1 Bulid 30488), ich habe es mit 100 ausprobiert (kleinster zulässiger Wert), keine Veränderung.
Das Programm ist die "finsql.exe *32".

Gibt es eine möglichkeit per Code das Automation-Objekt zu Clearen oder so?
Dachte an CLOSE oder KILLPROZESS, aber da komme ich nicht mit weiter.

Re: SQL DMO, Speicher wird immer voller

12. April 2012 10:38

zwei Ideen:
1. Gibt es bei der Automation SQLServer eine Funktion zum Aufräumen?
2. Was passiert, wenn due den SQLServer und die Connection nicht clearst?

Gruß, Fiddi