AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi ERROR database disk image is malformed

ERROR database disk image is malformed

Ein Thema von Peter-Pascal · begonnen am 24. Sep 2021 · letzter Beitrag vom 30. Sep 2021
Antwort Antwort
Peter-Pascal

Registriert seit: 18. Feb 2007
Ort: 32139 Spenge
200 Beiträge
 
Delphi 11 Alexandria
 
#1

AW: ERROR database disk image is malformed

  Alt 30. Sep 2021, 09:01
Vielen Dank an Jo und Delphi.Narium (was bedeutet dieser Nick? hoffentlich ist die Frage nicht zu unhöflich)

ich werde das mal der Reihe nach abarbeiten. Ich hatte gestern bereits ein Tool (HDDScan.exe) laufen lassen, hat aber keine Fehler gefunden. Möglicherweise liegt es doch an dem was ich zusammengeschrieben habe.

Trotzdem werde ich chkdsk noch laufen lassen.
Wobei ich das nicht verstanden habe, dass Windows dies beim Start ausführt, ich dachte ich öffen die DOS-Box oder wie die jetzt heißt, tippe die Buchstaben ein und los gehts.... und ich gehe Mittagsschlaf machen.
Peter Niemeier
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.558 Beiträge
 
Delphi 7 Professional
 
#2

AW: ERROR database disk image is malformed

  Alt 30. Sep 2021, 09:52
Der Nick bedeutet genau nix, war nur Nonsen:

Als Kind hat mich das Delphinarium im Duisburger Zoo fasziniert. Heute hab' ich da eher ein "abstandhaltendes" Verhältnis zu, nachdem ich mal im Wuppertaler Zoo mitbekommen habe, wie hochgradig verhaltensgestört sich etliche der dort lebenden Tiere verhalten (und das bei artgerechter Haltung). Aber das geht jetzt am Thema vorbei

Vor der Rechtsschreibreform schrieb man Delfin noch Delphin. In Delphinarium kommt halt Delphi vor und um das "hervorzuheben" hab' ich 'nen Punkt zwischen Delphi und narium gemacht und da man nach 'nem Punkt, am Satzanfang, groß schreibt wurde daraus Delphi. Narium. Aber da im Nick kein Leerzeichen möglich war (oder ist?), hab' ich das weggelassen. Ist dann sowas wie "künstlerische Freiheit" oder so ähnlich. Soweit so Blödsinn

ChkDsk muss vor dem Windowsstart laufen, damit garantiert keine Datei von Wasoderwemauchimmer im Zugriff ist. ChkDsk benötigt absolut exklusiven Zugriff auf alles, da es ansonsten nicht möglich ist, beliebige Dateien bei Bedarf ganz oder teilweise zu lesen, geschweigedenn zu schreiben, um sie von Sektor X nach Sektor Y oder sonstwohin zu verschieben.

Zitat:
Möglicherweise liegt es doch an dem was ich zusammengeschrieben habe.
Das kann man natürlich nicht ausschließen, aber warum funktioniert es denn dann manchmal und manchmal nicht, und von SSD immer, aber von Festplatte nur zu ca. 80%? Dafür müsstes Du dann doch irgendeine "Zufallskomponente" in der Programmlogik haben, die nur unter bestimmten (bisher unbekannten) Umständen zu Fehlern führt.

Sprich: Wird die CSV stumpf und stur zeilenweise gelesen und in die DB geschrieben, oder gibt es da irgendwelche Abhängigkeiten, Daten die erst zur Laufzeit berechnet werden, Zeit- und/oder Datumswerte, die beim Import errechnet, hinzugefügt, ... werden, Zeichensatzkonvertierungen, ...?

Eventuell mal https://www.heise.de/download/produc...diskinfo-59349 anschauen und auch den Hinweisen auf weitere Software folgen.
Beim Hersteller der Festplatte mal nachschauen, ob er ein entsprechendes Werkzeug für seine Festplatten zur Verfügung stellt.
  Mit Zitat antworten Zitat
Peter-Pascal

Registriert seit: 18. Feb 2007
Ort: 32139 Spenge
200 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: ERROR database disk image is malformed

  Alt 30. Sep 2021, 11:47
Hallo Delphi.Narium,
Du hast Dir jedenfalls richtig Gedanken mit Deinem Nick gemacht. Ich habe einfach nur Pascal (wg Blaise Pascal) an meinen richtigen Vornamen gehängt.

Das Einlesen der CSV-Datei habe recht umfangreich gestaltet. Es sind ca. 1030 Zeilen, die hier zu veröffentichen etwas umfangreich wären.
Ich lese Bankdaten ein, also die Umsätze eines Bankkontos. Bevor ich die in die Datenbank speichere, werden die Daten erst in einem Grid dargestellt und der User kann die Spalten Datum, Betrag, Verwendungszweck ets. zuordnen. Gegebenenfalls können auch kleine Korrekturen vorgenommen werden, wenn sich in den Zahlen Buchstaben verirrt haben.
Erst dann werden die Daten aus dem Grid gelesen und pro Colum in je eine TList<T> gespeichert und in die jeweiligen Typen string, Datum, currency umgewandelt.
Wenn das ohne Fehler funktioniert schreibe ich die Daten in die DB. Der Buchungsatz besteht aus zwei Teilen. Die Kopfdaten enthalten das Datum, Verwendungszweck etc. und die Detaildaten nehmen das Konto hier Bank und den Betrag auf. (Ist wie bei SAP aufgebaut). Ein Fehler bei der Umwandlung wird mitgeteilt und es kann in dem Grid gesucht werden.
Und wenn es beim Speichern zum Fehler kam, dann hat das System ca. 500 Datensätze geschrieben, und irgenwann abgebrochen. Kopf und Detail stimmen überein und weitere 100 Datensätze fehlen. Konnte ich schon mal nachtragen, ebenfalls mit einer CSV.

Im nächsten Schritt kann dann der Buchungssatz vervollständigt werden.

Heute nachmittag oder gegen Abend starte ich mal Chckdsk und werde Dir schreiben, was sich ergeben hat.

Gegebenenfalls anschließend CrystalDiskInfo. Mal schauen was die mir erzählen.

Danke für Deine Tipps und die Links.
Peter Niemeier
  Mit Zitat antworten Zitat
Antwort Antwort

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 07:39 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