|
|
Re: kann dbf nicht öffnen ... is not a table - #22336 in section [729371] |
Sec: |
(1) Allgemeines |
Von: |
S.Schabbach |
An: |
Harro Schippan |
Am/Um: |
13.01.2011 18:46:30 gelesen |
Hallo Harro Ich denke das Problem ist die Anzahl der Felder. Im Übrigen haben alle FOX2X DBF´s Memofelder mit 10 Byte Länge. Das wurde erst in vfp (k.a.welche Version) auf 4 Byte geändert. Und es können schon immer nur max 254 Felder enthalten sein. Was mich im übrigen persönlich auch mehr als nervt ^^ Liegt wohl an der DOS-Herkunft des Dateiformats CHR(1) bis CHR(254) Da Delphi eine andere Leselogik verwendet, als FoxPro, kann es selbst damit glänzend umgehen. Für den Foxler gesprochen: Delhpi liest und Schreibt die DBF mit LowLevel-Funktionen. Es erhält dabei lediglich eine dBase-konforme Dateistruktur. Ebeso machen das auch andere nicht-delphi Programme, wie z.B. AVM-FritzFax. Da es aber für diese keine zwingende FCOUNT-Begrenzung gibt, hat lediglich der Erfinder des Formats dBase (und damit auch FoxPro) damit ein Problem. Klingt komisch, ist aber (leider) so... Eine Lösung kann deshalb nur darin bestehen, dir einen DBF-Parser zu schreiben, der die DBF LowLevel ausliest. Sobald Du aber rein schreiben willst (oder mußt) wirds kniffelig. Aber ich würde mal warten bis wOOdy was aus seinen Speicherkisten auskramt ^^ Nachtrag: Was du mal probieren kannst ist aber folgendes: Eine Leere DBF mit den ersten 254 Feldern machen und dann ein APPEND FROM ... absetzen. Ich hab damit vor Jahren mal eine angeblich kaputte DBF einlesen können. (Das war aber mit FoxPro 2.6 DOS) Grüße aus Trier
|
|
|
|