Christian Heurich: .dbf datei mit umlauten auslesen und konvertieren

Beitrag lesen

Hello,

da fehlt das Daten-Zeit-Zustandsdiagramm.
Wann machst Du auf welcher Plattform was mit welchem File?
Wird noch ein dbase betrieben? Dann kann man mit export und "sdf" die Sätze in eine Textdatei übertragen.
Soll der Import ständig mit PHP erfolgen oder handelt es sich nur um eine einmalige Sache?
Sollem memo-felder mit importiert werden? (das könnte eklig werden)

Man könnte den Header1 (fix) und Header2 (variable) der dbase-datei einfach abschneiden. Danach liegen die Sätze als Random Access Datei vor, also feste Satzlänge, feste Feldstruktur, feste Feldlänge.

Ich habe noch einige in Pascal geschriebene Konvertierungsroutinen von dBase nach XYZ irgendwo rumfliegen. Die sind zwar schon 13 Jahre alt, aber vielleicht würden sie Dir helfen.

Sonst solltest Du dir mal die PHP-Funktionen pack() und unpack() anschauen. Mit deren Hilfe könnte man in PHP eine Datenstruktur aufbauen. Hängt eben davon ab, wie wichtig und häufig diese Importe für dich sind. Alternativ gibt es (glaube ich) in MySQL geeignete Importfunktionen.

Liebe Grüße aus http://www.braunschweig.de

Tom

Hallo,

mann seid ihr schnell !!! :)

Ich selbst arbeite nicht mit dbase, ich bekomme das file gepackt von meinen lieferanten. es enthält die artikel/preisliste.
Ich möchte nun gerne das file (halbwegs) automatisiert in ein txt-file umwandeln mit einigen veränderungen.

also der ablauf sollte so aussehen:
per php (mangels ausreichender programmierkenntnisse anderer sprachen):

1. das zip-file laden
2. das zip-file entpacken
3. dbf-file auslesen
4. daten mit mysql-db (nur auslesen) abgleichen
5. neue daten in txt.datei schreiben
(txt-file importieren in mysql-db ... ok ist umständlicher als gleich einfügen aber im moment hab ich noch nicht so eine blickung für die db-struktur als dass ich da direkt was ändern möchte..)

...und das mit möglichst wenig aufwand weil das ganze ca. 2-3mal / woche passieren soll :)

ich hab ja schon ein tool das die dbf-files in txt-dateien konvertieren kann, aber leider nur manuell und auch die änderungen / abgleich mit der mysql-db kann das tool nicht machen.

Ein direktimport in kommt eigntlich auch nicht in frage, eben weil ich vorher noch die daten anpassen muß.

Memo-Felder sind nicht dabei, nur char, int, date, real,

zu der version in der es erstellt wurde kann ich nicht viel sagen.
aber ich könnte sicher mal nachfragen.

eine andere möglichkeit wäre das ersetzen der umlaut-zeichen (, usw.) wieder in den jeweiligen strin zu ersetzen aber da in den feldern teilweise auch " vorkommt und das leider das substitut für ä ist kommt da mit sicherheit nicht immer das richtige raus.

mfg
christian