Entwickler-Ecke
Freeware Projekte - FireBird Tabellen to XML
mexx - Mi 16.08.06 16:31
Titel: FireBird Tabellen to XML
Hallo,
ich arbeite seit einiger Zeit an einem Programm welches die Inhalte einer FireBird-Datenbank in eine XML-Datei schreibt. Bisher befindet sich das Tool noch nicht in einen Zustand, dass man es auf anderen Rechnern verwenden kann, weil ich dafür noch Möglichkeiten der Konfiguration schaffen will. Aber das kommt.
Funktion
Per BDE-Alias wird der Transfer der vom Benutzer ausgewählen Tabellen in eine XML-Tabelle geschrieben. Dabei wird die Struktur der Datei der logischen Struktur der Tabellen angepasst. Das heißt, besitzt die Tabelle 3 Schlüssel, so werden die entsprechenden Knoten für die 3 Schlüssel generiert und darin dann die Daten. Die optsiche Eigenschaft einer XML, dass man Inhalte wie in einem TreeView darstellen kann, wird verwendet, um die logischen Verknüpfungen in einer Tabelle darzustellen. Dies ist beim Import in andere Datenbanken sinnvoll.
Ziel der Anwendung
Neben dem Export, steht auch noch das Import. Mein Tool soll in Zukunft in der Lage sein, XML Dateien, entweder die damit erstellten oder andere, in andere Datenbanken zu übertragen. Dabei könnten Informationen aus der XML vor dem Eintragen in die neue Datenbank verändert oder entfernt werden. Die Infomationen einer XML-Datei teile ich dabei in "HUMAN DATA" und "ELECTRONIC DATA". "HUMAN DATA" sind Tabelleninhalte wie Bezeichnungen und Beschreibungen. Daten, die vom Menschen interpretiert werden. "ELECTRONIC DATA" sind Schlüssel, wie Index, Typ, ... . Unter Umständen müssen beim Export in eine andere Datenbank, diese Schlüssel geändert werden, weil die entsprechende Anwendung bestimmte Schlüssel erwartet, oder in der Zieldatenbank bereits Schlüssel vorhanden sind.
Ziel des Beitrages
Auch wenn die Anwendung noch keine Konfigurationsmöglichkeit enthält, so dass man Sie mal fix testen könnte, eröffne ich diesen Beitrag, um
1. Eure Meinung zu diesen Thema zu hören und was man eurer Meinung nach, noch einbauen sollte. Sprich welche Funktionen Ihr erwarten würdet.
2. Welche Methode verwendet Ihr, um eine Verbindung zur FireBird-Datenbank herzustellen? Wenn ich das weis, kann ich die Flexibilität erhöhen.
3. Menüvorschläge, Design-Vorschläge zu erhalten.
4. Problematiken diskutieren, um nicht für jedes Problem einen neuen Beitrag zu eröffnen.
Problematik
1. Tabellen, deren Inhalte sehr groß sind(ca. 700.000 Einträge) machen Probleme. Nicht weil der Schlüssel nicht generiert werden kann, sondern Speicherprobleme. Die XML-File wird erst gespeichert, wenn die Inhalte virtuell eingefügt wurden sind. Bei 700.000 Einträgen, habe ich einen RAM-Verbrauch von >2GB. Ich erhalte eine Fehlermeldung, dass nicht genügt virtueller Speicher zur Verfügung steht, sprich die Auslagerungsdatei hat die maximale Größe der Festplatte erreicht.
Darum frage ich: In wie weit kann ich das Speicherverhalten oder RAM-Management beeinflussen? Vorschläge?
Anbei ein Bild der Anwendung.
Vielen Dank, für Eure Aufmerksamkeit.
mexx - Mo 21.08.06 08:30
Was mich auch sehr freuen würde, wäre ein ein schickes Logo oder Icon, dass etwas mit FireBird und XML zu tun hat. Vielleicht gibt es hier einen talentierten Designer?!
Laaeris - Mo 19.04.10 17:09
Hallo Mexx,
ist dieses Projekt jemals beendet worden - vielleicht sogar inklusive Import - ich fände das sehr interessant?
Viele Grüße
David
mexx - Di 20.04.10 07:43
Ja, das ist es. Hätte nicht gedacht, dass das noch mal von Interesse ist. Ich kann jede Tabelle der Firebird-Datenbank in eine XML Datei exportieren, wobei die Schlüssel der Tabelle als Root-Knoten erstellt werden. Damit geht die Logik der Tabelle nicht verloren.
Der letzte Schliff scheint noch zu fehlen, aber die grundlegenden Funktionen sind aktiv.
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!