AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Fehler "Zu wenig Arbeitsspeicher" beim Füllen der Datenbank
Thema durchsuchen
Ansicht
Themen-Optionen

Fehler "Zu wenig Arbeitsspeicher" beim Füllen der Datenbank

Ein Thema von Thomas2017 · begonnen am 5. Okt 2017 · letzter Beitrag vom 8. Okt 2017
Antwort Antwort
Thomas2017

Registriert seit: 7. Mär 2017
7 Beiträge
 
#1

AW: Fehler "Zu wenig Arbeitsspeicher" beim Füllen der Datenbank

  Alt 6. Okt 2017, 10:56
Hallo,
ich habe die Hinweise von euch entsprechend ausprobiert/getestet.

1. alle 1000 Datensätze ein Transaction1.Commit -> Fehler tritt weiterhin auf
2. -> form1.DataSet1.DisableControls -> Fehler tritt auch auf

Nur zur Info:
An dem Dataset hängt nichts mehr dran.
Ich habe das MiniProgramm lediglich zum Befüllen der Datenbank mit Daten aus der besagten Textdatei.

@TigerLilly
Ist ein TIBDataSet, ein TIBDatabase und ein TIBTransaction, wenn Du das meintest mit der Frage.
  Mit Zitat antworten Zitat
TigerLilly

Registriert seit: 24. Mai 2017
Ort: Wien, Österreich
1.179 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Fehler "Zu wenig Arbeitsspeicher" beim Füllen der Datenbank

  Alt 6. Okt 2017, 11:20
Ich vermute, dass dein TIBDataSet immer alle Datensätze enthält, die du appended hast, auch wenn du es zwischendurch schließt + wieder öffnest (was steht denn im SelectSQL?).

Setze das SelectSQL mal auf select .... Where 1<>1. Damit lädt das SelectSQL nach dem schließen/öffnen keine Sätze aus der DB + enthält nur die Sätze, die du angefügt hast.

Alternative:
Anstelle des TIBDataSets kannst du dir ja die insert-statements selber bauen und sie via IBSQL direkt in die Datenbank schreiben. Das geht auch flotter.
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Fehler "Zu wenig Arbeitsspeicher" beim Füllen der Datenbank

  Alt 7. Okt 2017, 08:01
Hallo,
die Alternative mit der Query wurde bereits gesagt (von mir )
Heiko
  Mit Zitat antworten Zitat
TigerLilly

Registriert seit: 24. Mai 2017
Ort: Wien, Österreich
1.179 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Fehler "Zu wenig Arbeitsspeicher" beim Füllen der Datenbank

  Alt 7. Okt 2017, 08:45
Zitat:
die Alternative mit der Query wurde bereits gesagt (von mir )
Ja, eh, aber erst wenn ich es sage, stimmt es auch.

Nein, im Ernst, sorry, ich wollte nur extra nochmal darauf hinweisen + nicht mit deinen Lorbeeren hausieren.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.047 Beiträge
 
Delphi 12 Athens
 
#5

AW: Fehler "Zu wenig Arbeitsspeicher" beim Füllen der Datenbank

  Alt 7. Okt 2017, 09:04
Wenn es wirklich daran liegt, daß die Embedded DB zuviel Speicher braucht, könnte man mal versuchen, die Connection zwischendurch zu schließen und wieder neu zu öffnen.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: Fehler "Zu wenig Arbeitsspeicher" beim Füllen der Datenbank

  Alt 7. Okt 2017, 10:23
Wenn es wirklich daran liegt, daß die Embedded DB zuviel Speicher braucht, könnte man mal versuchen, die Connection zwischendurch zu schließen und wieder neu zu öffnen.
Es muss primär verhindert werden das die gesamte Tabelle in den Speicher geladen wird.
Bei MS Access gabs über ADO die Option Serverseitige Curser zu verwenden damit bei einer TTable-Komponenten nicht der komplette Tabelleninhalt von der Access-Engine nochmal in die Delphi-Teil der Anwendung kopiert wurde. Evtl. gibt das auch bei Interbase.

Ansonsten ist ein TTable-Komponenten nicht zu empfehlen bei Inserts und man sollte Query-KOMponenten mit angepassten INSERT-Statements verwenden. Damit ist man 100%ig sicher das nicht versehentlich die ganze Tabelle in den Speicher geladen wird.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.047 Beiträge
 
Delphi 12 Athens
 
#7

AW: Fehler "Zu wenig Arbeitsspeicher" beim Füllen der Datenbank

  Alt 7. Okt 2017, 11:40
Bei MS Access gabs über ADO die Option Serverseitige Curser zu verwenden damit bei einer TTable-Komponenten nicht der komplette Tabelleninhalt von der Access-Engine nochmal in die Delphi-Teil der Anwendung kopiert wurde. Evtl. gibt das auch bei Interbase.
Da es sich um den Embedded-Server handelt (eine DLL), spielt sich das Ganze im Adressraum der Anwendung ab. Da ist es vollkommen egal, ob der Server die Datenbank in den Speicher lädt, denn der Server ist in diesem Fall die Anwendung selbst.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Antwort Antwort


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 11:35 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