![]() |
Datenbank: BDE • Version: 5.1 • Zugriff über: TurboDB
Was bedeutet diese Fehlermeldung?
Liste der Anhänge anzeigen (Anzahl: 1)
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:
Aber mit noch mehr daten als hier gezeigt.
datamodule1.TourTable1gccode.AsString := CacheName;
datamodule1.TourTable1CacheTime.AsString := CacheTime; datamodule1.TourTable1CacheName.AsString := CacheName; 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:
In den Detailtable werden ca 400 Datensätze eingetragen.
datamodule1.WptsTable2.Post;
datamodule1.WptsTable2.Refresh; 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! |
AW: Was bedeutet diese Fehlermeldung?
Wurdest Du schon gefragt, warum es die BDE sein soll?
|
AW: Was bedeutet diese Fehlermeldung?
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" |
AW: Was bedeutet diese Fehlermeldung?
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? |
AW: Was bedeutet diese Fehlermeldung?
Zitat:
Zitat:
Zitat:
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. |
AW: Was bedeutet diese Fehlermeldung?
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" |
AW: Was bedeutet diese Fehlermeldung?
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? |
AW: Was bedeutet diese Fehlermeldung?
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
Delphi-Quellcode:
sparen.
datamodule1.WptsTable2.Refresh;
|
AW: Was bedeutet diese Fehlermeldung?
Zitat:
Zitat:
|
AW: Was bedeutet diese Fehlermeldung?
Oder embedded-Varianten von richtigen DBMS, hat den Vorteil dass man dann gut Skalieren kann
|
AW: Was bedeutet diese Fehlermeldung?
Das führt mich dann zu TurboDB und hat etwas damit zu tun das ich die Mastertabelle verändert habe. Das ist schon die ganze zeit meine Vermutung das ich da einfach etwas von der Logik her falsch mache.
Ich bräuchte eine Datenbank ohne Server usw. Am besten wo VCL Komponenten besitzt da ich damit besser klar komme. Kennt jemand so eine ? |
AW: Was bedeutet diese Fehlermeldung?
-FireBird (embedded)
-SQLite -MSSQL compact ( Subset von MSSQL) / express -MySQL embedded (teuer) -... |
AW: Was bedeutet diese Fehlermeldung?
ok werde ich mir mal ansehen.
Wegen meinem Problem steht nun fest das es etwas mit der menge der erstellten datensätze zu tun hat. Immer bei 50 Datensätzen kommt dieser Fehler und bricht die weitere erstellung ab. |
AW: Was bedeutet diese Fehlermeldung?
Kann ich diese Datenbanken auch mit DBGrid usw nutzen?
|
AW: Was bedeutet diese Fehlermeldung?
Wenn du TDataSet-kompatible Zugriffskomponenten verwendest
-IBX ( Interbase/FireBird) -dbExpress -ADO -Zeos |
AW: Was bedeutet diese Fehlermeldung?
Zitat:
CloseSourc = 30 k€/a für nicht transaktionsfähiges DB-Engine. Jetzt da es bei Oracle ist könnte es noch viel teurer sein. |
AW: Was bedeutet diese Fehlermeldung?
M.W. gibt es die mbedded nicht meher als OpenSource sondern nur kommerziell
|
AW: Was bedeutet diese Fehlermeldung?
Mein Problem hat sich erledigt. Habe einfach die mastersource vor dem anlegen der neuen Datensätze entkoppelt LogTable2.MasterSource := nil; und später wieder zugewiesen. Seid dem kommt der Fehler nicht mehr.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:55 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz