Entwickler-Ecke
Datenbanken - Indexdatei nicht vorhanden *.MDX
colaka - Di 10.08.10 21:06
Titel: Indexdatei nicht vorhanden *.MDX
Hallo,
ich lade täglich von den Servern meiner Lieferanten die Artikeldateien herunter, um aktuelle Preise und Verfügbarkeiten in meine WaWi einzufügen. Ein neuer Lieferant stellt mir jetzt eine DBF-Datei zur Verfügung. Beim Versuch, diese mithilfe der BDE zu öffnen, erscheint die Fehlermeldung "Indexdatei nicht vorhanden (Tabelle.MDX)". Mir wird aber nur eine DBF-Datei angeboten, keine MDX-Datei.
Meine Frage ist deshalb:
Gibt es eine Möglichkeit, diese Fehlermeldung zu umgehen? Ich muß anschließend zum Auslesen der Preise usw. aber schon auf die einzelnen Felder zugreifen können.
Oder gibt es eine Möglichkeit, die fehlende MDX-Datei neu zu erzeugen? Das habe ich schon versucht mit
Table.exclusiv := true;
DBIRegenindexes(Table.handle);
Das funktioniert aber nicht.
Danke Ebi
Reinhard Kern - Mi 11.08.10 00:59
colaka hat folgendes geschrieben : |
...
Oder gibt es eine Möglichkeit, die fehlende MDX-Datei neu zu erzeugen? Das habe ich schon versucht mit
Table.exclusiv := true;
DBIRegenindexes(Table.handle);
Das funktioniert aber nicht.
|
Hallo,
soweit ich mich erinnern kann, geht die Indexstruktur bei DBase NICHT aus der DBF-Datei hervor, die enthält nur die Daten. Um einen Index aus vorhandener DBF zu erzeugen, muss man daher explizit angeben, was indiziert wird, und zwar in Form eines DBase-Ausdrucks. Im einfachsten Fall ist das ein Feldname. Daher kann eine Funktion wie DBIRegenindexes garnicht funktionieren, sie weiss ja nicht was sie tun soll.
Man kann das natürlich mit DBase IV unter DOS erledigen, oder man schreibt ein Programm dafür mit Hilfe einer DBF-Library. Ich habe CodeBase benutzt, um Clipper-Indexe neu zu erstellen.
Gruss Reinhard
dummzeuch - Fr 13.08.10 22:19
colaka hat folgendes geschrieben : |
Beim Versuch, diese mithilfe der BDE zu öffnen, erscheint die Fehlermeldung "Indexdatei nicht vorhanden (Tabelle.MDX)". Mir wird aber nur eine DBF-Datei angeboten, keine MDX-Datei.
Meine Frage ist deshalb:
Gibt es eine Möglichkeit, diese Fehlermeldung zu umgehen?
|
in der DBF-Datei wird vermutlich auf einen externen Index verwiesen, den Dein Lieferant nicht mitliefert. Da kommt die BDE nicht dran vorbei. Du hast folgende Moeglichkeiten:
- Deinen Lieferanten bitten, die DBF ohne diesen Verweis zur Verfuegung zu stellen (d.h. er muss vor der Weitergabe den Index der Datei loeschen)
- Mit DBase den Index "loesen", danach kann die DBF-Datei dann mit der BDE gelesen werden.
- Den Header der DBF-Datei patchen, so dass der Verweis rausfliegt. Dazu muss das Byte an Position 28 auf 0 gesetzt werden (wenn ich das noch richtig im Kopf habe).
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!