Delphi-PRAXiS
Seite 1 von 5  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi DBase (dbf) mit 3 Index-Dateien, aber werden nicht angezeigt (https://www.delphipraxis.net/12880-dbase-dbf-mit-3-index-dateien-aber-werden-nicht-angezeigt.html)

X-Dragon 5. Dez 2003 16:19


DBase (dbf) mit 3 Index-Dateien, aber werden nicht angezeigt
 
Ja ich hab hier eine dbf-DB mit 3 Index-Dateien mit der Endung NTX. Nach dem was ich bisher gelesen haben handelt es sich dabei um eine DBase III-DB, aber warum werden mir die Indexe nicht im Borlands Datenbank-Tool angezeigt? Wenn ich einen eigenen Index anlegen will fragt er nach ob er die DB "upgraden" soll(?), was er aber nicht soll denn die DB an sich darf nicht verändert werden (ich will nur Daten darin suchen und reinschreiben).

Also bisher suche ich Einträge in der DB mit "Locate" was aber auf Grund der größe der DB recht lange dauert. Kann ich das mit Hilfe der Index-Dateien beschleunigen (suche auch immer nur Daten aus der ersten Spalte)? Aber wenn wie, da ich ja nicht mal weiß was das für Indexe sind?

r_kerber 5. Dez 2003 16:25

Re: DBase (dbf) mit 3 Index-Dateien, aber werden nicht angez
 
Hallo X-Dragon,

wenn ich mich nicht ganz täusche, dann kommen NTX-Dateien nicht von dBase sondern von Clipper. Deswegen werden sie wohl nicht angezeigt. Du solltest also versuchen, neue Indexe zu erstellen.
Ach übrigens: die von mir schön häufiger werwähnten ADS-Komponenten können, galube ich, Clipper Indexe verarbeiten.

X-Dragon 5. Dez 2003 16:32

Re: DBase (dbf) mit 3 Index-Dateien, aber werden nicht angez
 
Zitat:

Zitat von r_kerber
Hallo X-Dragon,

wenn ich mich nicht ganz täusche, dann kommen NTX-Dateien nicht von dBase sondern von Clipper. Deswegen werden sie wohl nicht angezeigt. Du solltest also versuchen, neue Indexe zu erstellen.
Ach übrigens: die von mir schön häufiger werwähnten ADS-Komponenten können, galube ich, Clipper Indexe verarbeiten.

Hmm Clipper :gruebel: ... das paßt mir aber gar ins Konzept. Die Indexe neu erstellen würde ich gerne machen, aber die DB gehört zu einem anderem Programm und ich soll nur die Daten aus einem anderen Programm in diese DB übernehmen.

Eigentlich wollte ich keine zusätzlichen Komponenten verwenden, aber werd mir die mal ... ähm Montag anschauen, wenn es bis dahin nicht noch eine andere einfachere Lösungen gibt (hab seit 17 Uhr eigentlich Feierabend :shock: ).

Berserker 7. Dez 2003 18:52

Re: DBase (dbf) mit 3 Index-Dateien, aber werden nicht angez
 
Hallo X-Dragon.

Es gibt sehr wenige Komponenten, die Clipper/DBASEIII Indexe lesen können.

Das Problem hatte ich auch um meine DOS-Anwendung nach Delphi zu portieren.
Apollo untersützt das prima. Jedoch kostet diese Komponente Geld.

du kannst dir ja mal eine Testversion hier runterladen und das mal ausprobieren.

Ich habe damit einige Tools programmiert und funktioniert ausgezeichnet.
MfG, Ronny

X-Dragon 8. Dez 2003 08:51

Re: DBase (dbf) mit 3 Index-Dateien, aber werden nicht angez
 
Ich hab mich mal erkundigt und anscheind ist das Programm wie die DB mit XBase++ entwickelt worden, aber da dies ein Nachfolger von Clipper ist ändert das wahrscheinlich nichts am Problem selber. Da das Tool nur für einen "Bekannten" meines Chefs sein soll, glaube ich nicht das er da noch zusätzlich Geld investieren will, vor allem da die Entwicklung schon etwas mehr Zeit verschlungen hat als geplant.

X-Dragon 8. Dez 2003 14:10

Re: DBase (dbf) mit 3 Index-Dateien, aber werden nicht angez
 
Ich hab leider gerde nicht die Möglichkeit die DB mit dem dazugehörigen Programm zu testen, deshalb ben hier nochmal kurz die Frage. Kann die DB noch überhaupt noch genutzt werden wenn die Index-Dateien nicht aktualisiert werden?

r_kerber 8. Dez 2003 15:33

Re: DBase (dbf) mit 3 Index-Dateien, aber werden nicht angez
 
Hallo X-Dragon,

das alte XBase++-Programm kann sicherlich noch genutzt werden, denn es würde die Index-Dateien ja selbst aktuell halten. Du wirst aber nicht so ohne Weiteres mit Delphi-Bordmitteln ein Programm erstellen können, das Daten in die Tabellen schreibt und dabei die Indizes gleich mitpflegt. Dafür brauchst Du die hier bereits genannten Komponenten.
BTW: XBase++ ist nicht der Nachfolger von Clipper sondern ein eigenständiges Produkt, das nur die XBase/Clipper-Programmiersprache nutzt und hier offensichtlich auch die Clipper-Index-Dateien.

X-Dragon 8. Dez 2003 15:53

Re: DBase (dbf) mit 3 Index-Dateien, aber werden nicht angez
 
Zitat:

Zitat von r_kerber
Hallo X-Dragon,

das alte XBase++-Programm kann sicherlich noch genutzt werden, denn es würde die Index-Dateien ja selbst aktuell halten. Du wirst aber nicht so ohne Weiteres mit Delphi-Bordmitteln ein Programm erstellen können, das Daten in die Tabellen schreibt und dabei die Indizes gleich mitpflegt. Dafür brauchst Du die hier bereits genannten Komponenten.
BTW: XBase++ ist nicht der Nachfolger von Clipper sondern ein eigenständiges Produkt, das nur die XBase/Clipper-Programmiersprache nutzt und hier offensichtlich auch die Clipper-Index-Dateien.

Achso danke :). Hab gerade erfahren das man die DB vom Programm selber aus reorganisieren kann, also das ist schon mal kein Problem mehr.

Kann ich wohl die Suche einiges beschleunigen, wenn ich das per SQL mache? Hier gibts ja z.B. eine schöne Übersicht, aber leider steht da nix dabei, wofür was am besten geeignet ist, oder was wann vielleicht schneller ist ...

r_kerber 8. Dez 2003 16:06

Re: DBase (dbf) mit 3 Index-Dateien, aber werden nicht angez
 
Hallo X-Dragon,

Zitat:

Zitat von X-Dragon
...wofür was am besten geeignet ist, oder was wann vielleicht schneller ist ...

Geeignet ist im Prinzip beides. TTable ist eigentlich vorgesehen für den Zugriff auf Desktop-Datenbanken, TQuery für den Zugriff auf CS-SQL-DB's. Die BDE sorgt bei beiden Varianten dafür, dass die Abfrage entsprechend der DB übersetzt wird. Von der Geschwindigkeit her sollten beide bei Deskop-DB's (wie z.B dBase) gleich gut bzw. schlecht sein. Die langen Antwortzeiten, die Du schilderst, haben Ihre Ursache wohl eher in den nicht vorhandenen Indizes.

X-Dragon 8. Dez 2003 22:25

Re: DBase (dbf) mit 3 Index-Dateien, aber werden nicht angez
 
Zitat:

Zitat von r_kerber
Hallo X-Dragon,

Zitat:

Zitat von X-Dragon
...wofür was am besten geeignet ist, oder was wann vielleicht schneller ist ...

Geeignet ist im Prinzip beides. TTable ist eigentlich vorgesehen für den Zugriff auf Desktop-Datenbanken, TQuery für den Zugriff auf CS-SQL-DB's. Die BDE sorgt bei beiden Varianten dafür, dass die Abfrage entsprechend der DB übersetzt wird. Von der Geschwindigkeit her sollten beide bei Deskop-DB's (wie z.B dBase) gleich gut bzw. schlecht sein. Die langen Antwortzeiten, die Du schilderst, haben Ihre Ursache wohl eher in den nicht vorhandenen Indizes.

Das ja blöd, dabei hab ich den Rest inzwischen so schön optimiert das die 200k Datensätze in Nullkommanix geladen, verarbeitet und gespeichert werden können, aber ohne vernünftig schnelle Datensatz-Suche ...


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:28 Uhr.
Seite 1 von 5  1 23     Letzte »    

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