AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Lesefehler beim Anhängen von Datensätzen in dBase Datenbank
Thema durchsuchen
Ansicht
Themen-Optionen

Lesefehler beim Anhängen von Datensätzen in dBase Datenbank

Ein Thema von TOmega · begonnen am 3. Feb 2007 · letzter Beitrag vom 9. Feb 2007
Antwort Antwort
Seite 3 von 3     123   
mkinzler
(Moderator)

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

Re: Lesefehler beim Anhängen von Datensätzen in dBase Datenb

  Alt 4. Feb 2007, 19:38
Bei Verwendung einer embedded-Datenbank muß auch nichts installiert werden. Zudem in die Weitergabe der BDE ohne Installation u.U. auch nicht ideal.
Markus Kinzler
  Mit Zitat antworten Zitat
webcss

Registriert seit: 10. Feb 2006
255 Beiträge
 
Delphi XE2 Professional
 
#22

Re: Lesefehler beim Anhängen von Datensätzen in dBase Datenb

  Alt 5. Feb 2007, 06:31
Zitat:
@webcss:

1990 lief das Ganze noch unter DOS mit PowerBasic ohne Index. Mittlerweile ist der Index aber Dreh- und Angelpunkt in meinem Projekt. Ich denke die Umstellung auf Paradoxtabelle wäre einfacher.
Die sind schon indiziert, allerdings eben nicht mit multiindex ala mdx, sondern mit singular index ala ndx...
Zitat:
@mkinzler:

Was meinst Du mit "richtiger Datenbank" ?
mkinzler meint sowas wie firebird, mysql, postgre, sqlserver...
firebird geht auch embedded und lässt sich einfach und gut skalieren.
sqlite ist gut für einfache programme wo es nicht auf concurrency, d.h. gleichzeitigen zugriff von mehreren clients, ankommt, ist klein und gut, wenn du in sql arbeiten willst.
"Wer seinem Computer Mist erzählt, muss immer damit rechnen..." (unbekannt)
"Der Computer rechnet damit, dass der Mensch denkt..." (auch unbekannt)
mein blog
  Mit Zitat antworten Zitat
hsg

Registriert seit: 24. Apr 2006
Ort: Wustermark
354 Beiträge
 
Delphi 10.3 Rio
 
#23

Re: Lesefehler beim Anhängen von Datensätzen in dBase Datenb

  Alt 5. Feb 2007, 07:09
Bevor du dich mit der BDE und/oder SQL rumschlagen musst, würde ich dir empfehlen dich mal mit dem ALS (Advantage Local Server) auseinander zu setzen: Der beherrscht .dbf Dateien, nur die Indizes müssten dann neu gemacht werden (Foxpro-Format wäre da zu empfehlen (.cdx)) und in deiner Applikation würden die TTable durch TADSTable ersetzt werden müssen. Vorteile: der Umstellungsaufwand ist gering (Einmal durch die DFM gehuscht und aus TTable ein TADSTable gemacht, das war's) und du bist die BDE entgültig los. Der Local-Server kostet nichts und es reicht die DLL mitzuliefern. Ein Installieren ist nicht erforderlich. Falls du später dann doch mal einen Datenbank-Server benutzen willst/musst musst du dann auch nichts umstellen.

Mehr findest du unter http://www.advantagedatabase.com
  Mit Zitat antworten Zitat
hoika

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

Re: Lesefehler beim Anhängen von Datensätzen in dBase Datenb

  Alt 5. Feb 2007, 08:17
Hallo,

so viel zum Thema BDE.
Ich hatte (unter Paradox) auch mal das Problem mit zerschossenen Indizes.
Das war allerdings bei einem Kunden und nicht bei mir ;(
Das automatische Erzeugen auf 3 Rechnern
gleichzeitig lies den Fehler nicht reproduzieren.

Es spielt übrigens auch noch das Dateisystem eine Rolle
(unter FAT/FAT32 treten Fehler nicht so häufig auf)
und natürlich die Tatsache, ob die DB im Netz steht (Mehrfachzugriff).

"Einfache" Lösung: weg von DBase und Paradox.
Ich benutze hier die BDE immer noch (jaja),
allerdings unter Firebird,
bin aber auf dem Weg weg davon.


Heiko
Heiko
  Mit Zitat antworten Zitat
TOmega

Registriert seit: 26. Jan 2007
Ort: Berlin
37 Beiträge
 
Turbo Delphi für Win32
 
#25

Re: Lesefehler beim Anhängen von Datensätzen in dBase Datenb

  Alt 5. Feb 2007, 10:33
@mkinzler:

Natürlich habe ich für die Weitergabe meines Programms die BDE-Installation in das Setup integriert. Die Variante USB-Stick ist nur für mich gedacht, wenn ich schnell mal was nachsehen möchte und gerade keinen eigenen Rechner in Reichweite habe.

@webcss:

Ich habe da wirklich komplett ohne Index gearbeitet. Eingabe unter dBase IV und Abfrage mit einem Basic Programm nur aus der *.dbf Datei. Das lag auch daran, dass ich einfach nicht wusste, wie ich auf den Index zugreifen sollte. Das Format einer *.dbf Datei ist ja einfach zu verstehen.

@alle:
Ich danke Euch für die zahlreichen Vorschläge. Auf lange Sicht werde ich mich wohl von der BDE verabschieden. Dazu muss ich mich aber erst für eine Variante entscheiden und viel studieren und probieren. Da könnte mich demnächt der Faktor Zeit etwas ausbremsen.
Auf der Suche nach einer schnellen Lösung habe ich schon mal damit angefangen auf Paradox umzustellen. Die ersten Versuche sind positiv. Jedenfalls kann ich wieder ohne Probleme mehrere hundert Datensätze in einem Rutsch anhängen. Das liegt vielleicht nur daran, dass der Index jetzt auf viele Dateien verteilt ist und ich werde irgendwann wieder an die Grenzen stossen. Aber bei etwa zwei- bis dreitausend neuen Datensätzen im Jahr habe ich da wieder etwas Luft.
Wenn noch jemand eine zündende Idee hat, bin ich dankbar. Vorläufig werde ich die Frage aber als beantwortet markieren.

Gruss TOmega
  Mit Zitat antworten Zitat
hoika

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

Re: Lesefehler beim Anhängen von Datensätzen in dBase Datenb

  Alt 5. Feb 2007, 11:49
Hallo,

ein Umsteig von Bde-DBase nach Bde-FireBird ist schnell erledigt.
man kann dann sogar mit den alten TTable arbeiten,
ab einer gewissen Record-Anzahl wird das dann allerdings langsam.

Ein Wechsel DBase->Paradox ist nicht ratsam.
Jetzt müssen statt einer Indexdatei mehrere Dateien
gepflegt werden und das geht mit schöner regelmässigkeit schief
(such mal nach "index out of date").

Das Problem ist ein veralteter Schreib / Lock - Mechanismus der mit
neuen Dateisystemen (NTFS, opportunistic lock)nicht mehr klarkommt.

Ich hatte damals ein grösseres Programm (600000 Zeilen)
in einer Woche umgestellt.
Naja, ab 50000 Datensätzen musste man dann
doch von TTable auf TQury wechseln.


Für Firebird (Interbase) gibt es auch Literatur dazu.

http://www.ibphoenix.com/main.nfs?a=...&page=ibp_skip
http://www.ibphoenix.com/main.nfs?a=...e=ibp_dbase_ib


Heiko
Heiko
  Mit Zitat antworten Zitat
hsg

Registriert seit: 24. Apr 2006
Ort: Wustermark
354 Beiträge
 
Delphi 10.3 Rio
 
#27

Re: Lesefehler beim Anhängen von Datensätzen in dBase Datenb

  Alt 5. Feb 2007, 12:04
Zitat von TOmega:
Auf der Suche nach einer schnellen Lösung habe ich schon mal damit angefangen auf Paradox umzustellen. Die ersten Versuche sind positiv. Jedenfalls kann ich wieder ohne Probleme mehrere hundert Datensätze in einem Rutsch anhängen. Das liegt vielleicht nur daran, dass der Index jetzt auf viele Dateien verteilt ist und ich werde irgendwann wieder an die Grenzen stossen.

Gruss TOmega
Mit dem Advantage Database Locale Server, hättest du dieses Problem nicht: FoxPro-Indizes sind ebenfalls Compound-Indizes, d.h. man kann mehrere Indizes in einer Datei haben.
  Mit Zitat antworten Zitat
lofu1605

Registriert seit: 5. Okt 2006
Ort: Erftstadt
1 Beiträge
 
#28

Re: Lesefehler beim Anhängen von Datensätzen in dBase Datenb

  Alt 9. Feb 2007, 21:32
setze mal LOCAL SHARE = true. Wenn die Datenbank lokal liegt habe ich häufig ähnliche Probleme bemerkt, die sich häufig auch nicht reproduzieren lassen. Wenn die Datenbank auf einem Netzwerklaufwerk liegt oder LOCAL SHARE = true steht tritt das Problem bei mir nicht mehr auf.
  Mit Zitat antworten Zitat
TOmega

Registriert seit: 26. Jan 2007
Ort: Berlin
37 Beiträge
 
Turbo Delphi für Win32
 
#29

Re: Lesefehler beim Anhängen von Datensätzen in dBase Datenb

  Alt 9. Feb 2007, 22:42
Hallo lofu1605,
also ich habe keine Probleme mit der Reproduzierbarkeit des Problems.
Ich habe aber mal Deinen Vorschlag ausprobiert. Leider bringt das in dem Fall nichts.
Also Finger weg von dBase-Tabellen mit grossen Idizes. Bei 14 indizierten Datenfeldern wirft die BDE bei einigen tausend Datensätzen das Handtuch. Offenbar wurde in die dBase-Unterstützung schon längere Zeit nichts mehr investiert.
Übrigens treten unter Paradox diese Probleme nicht auf, obwohl je Index 2 Dateien gepflegt werden müssen. Inzwischen habe ich -zig mal die mehr als 27000 Datensätze maschinell in eine Paradox-Tabelle übernommen bei gleichzeitiger Aktualisierung der Indizes und danach auch noch mehrere hundert Datensätze angehängt ohne ein Problem.
Die wirklich bessere Lösung ist aber, die BDE nicht mehr zu nutzen.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


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 09:38 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