AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Zu wenig Arbeitsspeicher für diese Operation

Zu wenig Arbeitsspeicher für diese Operation

Ein Thema von DelphiAndreas · begonnen am 30. Jan 2006 · letzter Beitrag vom 31. Jan 2006
Thema geschlossen
DelphiAndreas

Registriert seit: 25. Okt 2005
124 Beiträge
 
Delphi 2006 Professional
 
#1

Zu wenig Arbeitsspeicher für diese Operation

  Alt 30. Jan 2006, 16:17
Datenbank: DBase • Zugriff über: BDE
Hallo,

ich greife mit der BDE und SQL auf eine DBase-Datenbank zu. Bei jeder SQL-Abfrage kann ich eine Erhöhung des vom Programm verbrauchten Speichers im TaskManager feststellen.
Lässt sich dieses irgendwie verhindern? Nach einer Weile erscheint dann nämlich der Fehler "Zu wenig Arbeitsspeicher für diese Operation" und an dieser Stelle muss man das Programm dann neu starten um weitermachen zu können.

Auch eine Erhöhung der einschlägigen Werte in der BDE-Verwaltung zögert das Problem nur hinaus

Gruß
Andreas
 
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Zu wenig Arbeitsspeicher für diese Operation

  Alt 30. Jan 2006, 16:22
Kann man auch wieder nur raten: Werden irgendwelche Objekte nicht wieder freigegeben?
Michael
Ein Teil meines Codes würde euch verunsichern.
 
DelphiAndreas

Registriert seit: 25. Okt 2005
124 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Zu wenig Arbeitsspeicher für diese Operation

  Alt 30. Jan 2006, 16:31
ich habs nochmal getestet, man brauch nur eine einfache form mit einem ttable, nem memo oder textfeld und einen button.

in die oncklick vom button schreibt man
Delphi-Quellcode:
sqlQuery.close;
sqlQuery.sql.text := memo1.text;
sqlQuery.execSQL
Wenn man das lädt, ne sql-anweisung einträgt und diese mehrmals nacheinander ausführt kann man eine stetige erhöhung des Speicherverbrauchs beobachten
 
Benutzerbild von Memo
Memo

Registriert seit: 19. Aug 2003
509 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Zu wenig Arbeitsspeicher für diese Operation

  Alt 30. Jan 2006, 16:37
sqlQuery.sql.text := memo1.text; Steckt da in Memo1.text eine Select-Abfrage?

//Edit
Zitat:
man brauch nur eine einfache form mit einem ttable, nem memo oder textfeld
Das kann wohl nicht so ganz stimmen, wenn ich mir Deinen QT anschaue. TTable<>sqlQuery.sql.text
 
DelphiAndreas

Registriert seit: 25. Okt 2005
124 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Zu wenig Arbeitsspeicher für diese Operation

  Alt 30. Jan 2006, 16:38
so war das gedacht
 
Benutzerbild von Memo
Memo

Registriert seit: 19. Aug 2003
509 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: Zu wenig Arbeitsspeicher für diese Operation

  Alt 30. Jan 2006, 16:45
Zitat von DelphiAndreas:
so war das gedacht
Dann schau mal in Deinen Windows-Temp-Ordner und wundere Dich warum da pro Abfrage eine neue Datei entsteht.
Für Select musst Du Open benutzen, dann sollte das Problem weg sein.
 
DelphiAndreas

Registriert seit: 25. Okt 2005
124 Beiträge
 
Delphi 2006 Professional
 
#7

Re: Zu wenig Arbeitsspeicher für diese Operation

  Alt 30. Jan 2006, 16:50
ahhhh select - open, ja, über die vielen dateien habe ich mich schon gewundert

Zitat von Memo:
sqlQuery.sql.text := memo1.text; Steckt da in Memo1.text eine Select-Abfrage?

//Edit
Zitat:
man brauch nur eine einfache form mit einem ttable, nem memo oder textfeld
Das kann wohl nicht so ganz stimmen, wenn ich mir Deinen QT anschaue. TTable<>sqlQuery.sql.text
da war ich wohl ein bißchen schnell, meinte natürlich dbgrid
 
DelphiAndreas

Registriert seit: 25. Okt 2005
124 Beiträge
 
Delphi 2006 Professional
 
#8

Re: Zu wenig Arbeitsspeicher für diese Operation

  Alt 30. Jan 2006, 17:00
grandios: getestet und es geht danke
 
DelphiAndreas

Registriert seit: 25. Okt 2005
124 Beiträge
 
Delphi 2006 Professional
 
#9

Re: Zu wenig Arbeitsspeicher für diese Operation

  Alt 31. Jan 2006, 08:36
jetzt hab ich aber nochmal ne frage:

bei SQL-Befehlen wie Insert oder Update muss ich doch ExecSQL nehmen. Kann man da auch irgendwie verhindern, dass für jede Abfrage der Speicherverbrauch steigt, bzw immer mehr der temporären Dateien angelegt werden?


Gruß
Andreas
 
Benutzerbild von r_kerber
r_kerber

Registriert seit: 11. Feb 2003
Ort: Trittau
3.538 Beiträge
 
Delphi XE Professional
 
#10

[team]

  Alt 31. Jan 2006, 12:55
Zitat von DelphiAndreas:
jetzt hab ich aber nochmal ne frage:
Neue Frage - Neuer Thread. Deshalb mache ich hier mal zu.

* * * C L O S E D * * *
 
Thema geschlossen

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:08 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