Hallo, ich habe zwei FritzFax.dbf mit den jeweiligen *.sff. Wie kann ich diese zusammen führen.
Gipfelkreuz
Hallo, ich habe zwei FritzFax.dbf mit den jeweiligen *.sff. Wie kann ich diese zusammen führen.
Gipfelkreuz
Hallo,
ich habe das selbe Problem, und folgenden Hinweis mal gefunden, aber es dann bislang noch nicht geschafft das Programm herunterzuladen/auszuprobieren.
http://www.ip-phone-forum.de/showthread.php?t=162372…
Musst mal sehen, ob in dem Anhang wirklich die letzte Version des DBF-Tools drin steht, oder ob es da inzwischen eine neuere gibt (dann bitte auch Hinweis an mich.
Gruß vom Wiz
Hallo liebe Menschen, die immer noch die letzte Version 3.07.61 des phantastischen Fritz!fax benutzen,
der Verfasser dieses Post - im Weiteren richard genannt - hatte ein ähnliches Problem… konnte es lösen… und möchte seine Erkenntnisse mit Euch teilen, damit Ihr Euch selbst helfen könnt, wenn dieses Problem wieder akut werden sollte.
richards Problem bestand darin, dass er über mehrere Monate an einem ANDEREN als seinem eigenen Rechner arbeiten und Faxe verschicken musste.
Diese Faxe galt es bei Gelegenheit in die Fax Datenbank des „Hauptrechners“ zu integrieren.
Es handelte sich also um einen zusammenhängenden Block von Faxen, der an eine bestimmte Stelle in die Hauptdatenbank einzufügen war.
richard hat sich dann entschlossen, das Problem „manuell“ zu lösen, nachdem er ein bisschen recherchiert hatte… und die wichtigsten Fakten seiner Recherche seien hier mit Euch geteilt:
https:
//www
.
clicketyclick
.
dk
/databases
/xbase
/format
/dbf
.html
Daraus geht hervor, dass am Anfang des binären Headers in dem zweiten 32Bit-Word (Byte Offsets 04-07) die Anzahl der Datensätze in der Datenbank steht.
Dieser Wert muss nach einer manuellen Veränderung des Datenteils also unbedingt angepasst werden!
richard konnte das ganze Problem mit seinem Lieblings-Editor GNU emacs lösen… wie sich nach der Zusammenführung der Datenbanken allerdings zeigte, war das noch nicht genug. Aber dazu etwas später.
Ab dem Byte 738 beginnt also der Datenbank [ASCII/ANSI] Textteil, der aus den einzelnen Datensätzen (Records) besteht, die einfach direkt hintereinander liegen und alle die selbe Länge haben.
Wie lang ein einzelner Datensatz ist steht auch im Header und da in dem 16Bit-Word an den Byte Offsets 10 und 11.
Das dürfte bei allen FritzFax.dbf der selbe Wert sein: 712 Bytes.
Wer emacs nicht kennt und nur mit Text-Editoren umgehen kann, kann also erst einmal alle zusammenzuführenden FritzFax.dbf-Dateien in ihre Header und Textteile trennen.
Grob gesagt können die Textteile dann zu EINER Datei zusammengefügt werden und zum Schluss „klebt“ man einen (um die Anzahl der Datensätze in den Bytes 04-07) korrigierten Header mit dieser Datei zusammen.
Das muss beim Zusammenführen ebenfalls bedacht werden:
Es darf nur EIN EINZIGES ^Z am Ende der zusammengeführeten Datenbank vorhanden sein.
[hmmm… kann keine Links in den Beitrag einfügen.
Sucht bitte nach „GnuWin CoreUtils“ oder nach „UnxUtils“ ]
Der folgende Befehl kopiert den Header der xBASE FritzFax.dbf in die Datei FritzHeader.bin
Und wie gesagt: Davon braucht man nur EINEN:
dd if=FritzFax.dbf bs=1 count=737 >FritzHeader.bin
Die folgenden Befehle kopieren den Datenteil der xBASE FritzFax.dbf in die Datei FritzData1.txt und den Datenteil der xBASE Fax\FritzFax.dbf in die Datei FritzData2.txt
dd if=FritzFax.dbf bs=1 seek=737 >FritzData1.txt
dd if=Fax\FritzFax.dbf bs=1 seek=737 >FritzData2.txt
copy /b FritzHeader.bin + FritzData1.txt /a + FritzData2.txt [ + FritzData3.txt …] FritzFax.dbf /a
Nach Änderung der Einstellung „Fax-Ordner“ in den FRITZ!fax-Einstellungen (Tab „FRITZ!fax“) auf das Verzeichnis, in dem die neue FritzFax.dbf liegt, erscheint die Liste aller zusammengeführten Faxe…
ABER…
mklink /j AltesFaxVerzeichnis NeuesFaxVerzeichnis
Das liegt daran, dass in dem FritzFax.dbf Datenbankfeld mit dem Namen DATEI der gesamte Pfad für jedes einzelne Fax eingetragen ist, z.B.
C:\Users\richard\AppData\Roaming\FRITZ!\Fax\01140001.sff oder D:\Faxe\richard\08160004.cff
Natürlich können auch die Pfadangaben in der FritzFax.dbf entsprechend korrigiert werden.
Wie das am einfachsten geht, wenn man kein dBASE III o.ä. Programm mehr hat, soll in einem nächsten Post besprochen werden.
Bis sehr bald wieder.
In Liebe,
richard
Hallo!
Ich weiß nicht, das klingt für mich doch sehr masochistisch.
Dbase ist ein in die Jahre gekommenes Datenbankformat, aber es gibt haufenweise Editoren dafür, mit denen das zusammenführen einfacher sein sollte.
Ich hätte ja gerne mal so ne Dbase-Datei, um mir das anzuschauen.
Hallo lieber sweber,
ja ja, klingt ziemlich masochistisch… vor allem für diejenigen Mitmenschen, die keine Programmiererfahrung haben.
Und richard hat sein Problem tatsächlich mit dem Editor emacs gelöst, aber auch der ist für Programmierer entwickelt.
Auf die Schnelle ist richard bei der Suche nach einem Tool über den „gtkdbfeditor“ gestossen, bei dem man aber nur je einen Datensatz anfügen kann.
Der „DBF Manager“ von Astersoft Co. ist hervorragend geeignet, aber der ist halt nicht ganz kostenlos.
Weiter hat richard nicht gesucht, aber wenn sweber einige freie Tools kennt, dann kann er sie ja hier posten.
Damit wäre das Problem dann sowieso wahrscheinlich „für immer“ aber wenigstens für die nächsten 10 Jahre gelöst, nicht?
Das wäre tatsächlich das Beste und keiner hätte mehr Mühe mit Suchen oder mit so einem Programmier-Kram.
Herzlichen Dank für Dein Feedback, Danke.
Bis sehr bald wieder.
In Liebe,
richard
Naja, nach ner kurzen Suche kann ich sagen, daß wohl Excel auch DBase-Dateien lesen und schreiben kann. Dann wäre das Rüberkopieren vermutlich nicht so das Problem.
Mangels einer DBF-Datei von FritzFax kann ich aber wenig dazu sagen, wie gut das konkret funktioniert.