AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Was bedeutet diese Fehlermeldung?
Thema durchsuchen
Ansicht
Themen-Optionen

Was bedeutet diese Fehlermeldung?

Ein Thema von BBoy · begonnen am 4. Jun 2011 · letzter Beitrag vom 5. Jun 2011
Antwort Antwort
Seite 1 von 2  1 2      
BBoy

Registriert seit: 17. Jan 2007
418 Beiträge
 
Delphi 10 Seattle Professional
 
#1

Was bedeutet diese Fehlermeldung?

  Alt 4. Jun 2011, 21:05
Datenbank: BDE • Version: 5.1 • Zugriff über: TurboDB
Kann mir bitte jemand sagen was dieser Fehler bedeutet (siehe Anhang) ?

Er entsteht wenn ca 50 neue Datensätze hinzufüge. Ich habe ein Mastertable und 2 dazugehörige Detailtables.
Ich leite ein mit: datamodule1.TourTable1.Append;
fülle den datensatz mit:
Delphi-Quellcode:
      datamodule1.TourTable1gccode.AsString := CacheName;
      datamodule1.TourTable1CacheTime.AsString := CacheTime;
      datamodule1.TourTable1CacheName.AsString := CacheName;
Aber mit noch mehr daten als hier gezeigt.
Zwischendurch fülle ich auch einen Detailtable mit daten nach obiger Methode. Und genau daran scheint es zu liegen. Denn wenn ich den code entferne funktioniert es gut.

am ende kommt dann halt noch
Delphi-Quellcode:
      datamodule1.WptsTable2.Post;
      datamodule1.WptsTable2.Refresh;
In den Detailtable werden ca 400 Datensätze eingetragen.

Wenn ich das Programm beende und wieder starte sind alle Datensätze ordnungsgemäß eingetragen.

Und am Ende kommt auch der Fehler. Hat jemand eine Idee wie ich das beheben kann?
Danke!
Miniaturansicht angehängter Grafiken
fehler01.jpg  

Geändert von BBoy ( 4. Jun 2011 um 21:35 Uhr)
  Mit Zitat antworten Zitat
FredlFesl

Registriert seit: 19. Apr 2011
293 Beiträge
 
Delphi 2009 Enterprise
 
#2

AW: Was bedeutet diese Fehlermeldung?

  Alt 5. Jun 2011, 07:40
Wurdest Du schon gefragt, warum es die BDE sein soll?
Das Bild hängt schief.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.195 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Was bedeutet diese Fehlermeldung?

  Alt 5. Jun 2011, 09:33
Kann man mit den TurboDB-Zugriffskompos auf BDE?(?) zugreifen?

Ich Tipp auf einen Implementierungsfehler von TurboDB. Was sagt der Taskmanager zur Speicherentwicklungs des Programms. In der Fehlermeldung steht ja: "Not enough memory"
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
BBoy

Registriert seit: 17. Jan 2007
418 Beiträge
 
Delphi 10 Seattle Professional
 
#4

AW: Was bedeutet diese Fehlermeldung?

  Alt 5. Jun 2011, 10:06
Warum BDE? FÜr so ein kleines Projekt ist das sicherlich ok und ich muss mich nicht extra in was neues einarbeiten.
Ja TurboDB kann auf BDE zugreifen es ist ja schließlich ein BDE replacement.

Habe mal im Taskmanager den Speicher beobachtet während die Datensätze hinzugefügt werden. Da rührt sich nichts! Nur eine minimale Veränderung. Also daran kann es nicht liegen.

Ich öffne die Mastertabelle und leite das hinzufügen von daten ein. währen dieser Prozedur öffne ich eine detailtabelle, füge daten hinzu und schließe diese Detailtabelle wieder. Dann erst schließe ich die mastertabelle.
Ist das so richtig von der Logik her?
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.195 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: Was bedeutet diese Fehlermeldung?

  Alt 5. Jun 2011, 10:31
Warum BDE? FÜr so ein kleines Projekt ist das sicherlich ok
Eigentlichn nicht mehr. AFAIK gibt es Probleme bei Win7 64-Bit. Und mit jeder Windows-Version wird es mit sicherheit problematischer.

und ich muss mich nicht extra in was neues einarbeiten.
Alle 10 Jahre könnte man sich doch mal was neues antun ...


Ja TurboDB kann auf BDE zugreifen es ist ja schließlich ein BDE replacement.
Und wieso baust du es nicht um so das du nur noch mit TurboDB arbeitest? Es heißt ja replacement und nicht "merger".
Solange du die BDE drin hast wird das System/Programm unnötig komplex.

hast du schon mal geschaut aus welcher Ecke die Fehlermeldung kommt? Falls es aus der TurboDB-Ecke kommt dürftest du doch den Aufrufstack sehen.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#6

AW: Was bedeutet diese Fehlermeldung?

  Alt 5. Jun 2011, 10:39
Nur weil TurboDB ein BDE Replacement ist, heisst das nicht, dass man über die BDE-ODBC auf TurboDB zugreifen soll/kann.

Es bedeutet vielmehr "schmeiss BDE in die Tonne denn wir packen alles zum Migrieren dabei"
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
BBoy

Registriert seit: 17. Jan 2007
418 Beiträge
 
Delphi 10 Seattle Professional
 
#7

AW: Was bedeutet diese Fehlermeldung?

  Alt 5. Jun 2011, 11:24
Schon klar das BDE nicht mehr Zeitgemäß ist. Schon klar das ich mir was neues suchen muss. Was meint Ihr sollte ich nehmen für einfache Projekte?

Aber bei meinem jetztigen Projekt wird es wohl noch BDE bleiben. Daher weiter zum Problem:
Aufrufstack:
Kernelbase Raiseexecption +0x58
TDBDatabaseError $1b5
TDBDatabseCheck $15
TDBTable.MasterChanged $1B

Was sagt mir das?
  Mit Zitat antworten Zitat
Benutzerbild von sx2008
sx2008

Registriert seit: 16. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#8

AW: Was bedeutet diese Fehlermeldung?

  Alt 5. Jun 2011, 11:28
Verwende doch mal Abfragen (TQuery) anstatt Tabellen (TTable) für deine Detailtabellen.
Eine TTable zieht immer alle Datensätze aus der Datenbank auch wenn beim Einsatz nur ein kleiner Teil angezeigt wird.
Bei einer Query wenn nur die Datensätze geholt, die passend zur Mastertabelle gerade gebraucht werden.
Ausserdem solltest du dir datamodule1.WptsTable2.Refresh; sparen.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.195 Beiträge
 
Delphi 10.4 Sydney
 
#9

AW: Was bedeutet diese Fehlermeldung?

  Alt 5. Jun 2011, 11:33
Schon klar das BDE nicht mehr Zeitgemäß ist. Schon klar das ich mir was neues suchen muss. Was meint Ihr sollte ich nehmen für einfache Projekte?
Bisher immer ADSTable im Lokal Modus. Ansonsten Inhouse MS SQL-Server (läuft eh auf entsprechenden DB-Servern) oder MySQL.

Aber bei meinem jetztigen Projekt wird es wohl noch BDE bleiben. Daher weiter zum Problem:
Aufrufstack:
Kernelbase Raiseexecption +0x58
TDBDatabaseError $1b5
TDBDatabseCheck $15
TDBTable.MasterChanged $1B

Was sagt mir das?
Was für ein Code steht dort. Genau stelle bekommst du wenn du mit Debug-VCL kompilierst.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: Was bedeutet diese Fehlermeldung?

  Alt 5. Jun 2011, 11:47
Oder embedded-Varianten von richtigen DBMS, hat den Vorteil dass man dann gut Skalieren kann
Markus Kinzler
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 03:40 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