Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Textdatei als Datenbank nutzen (https://www.delphipraxis.net/38280-textdatei-als-datenbank-nutzen.html)

Opa Knack 17. Jan 2005 01:40


Textdatei als Datenbank nutzen
 
Hallo,

ich bin gerade dabei, ein kleines Abfragetool zu erstellen, in dem Auswahlkriterien in einer Datenbank abgelegt werden müssen. Das Endprodukt soll weitergegeben werden, und ich möchte auf die BDE verzichten. Da das Produkt kostenlos sein wird, möchte ich natürlich auf die Lizenzierung einer DB verzichten.

Nun stellt sich natürlich die Frage, auf welcher Basis ich die Datenbank anlegen kann. Bislang habe ich nur XML ausfindig machen können, aber ich habe noch keine "seniorentaugliche" Möglichkeit gefunden, mein Vorhaben mit XML umzusetzen.

Kennt jemand eine wirklich deppensichere Anleitung dazu, die möglichst schnell umsetzbar wäre (oder eine Komponente, die ich einsetzen könnte)? Oder: Kann mir jemand einen Tipp geben, wie ich die Datenbank sonst noch anlegen könnte? Ich habe bisher viel in PHP programmiert, und da habe ich mal ein Script gesehen, welches es ermöglichte, eine CSV-Datei mit SQL-Anweisungen anzusprechen. Gibt es sowas auch für Delphi (ich habe bislang nichts finden können)?

Danke
Opa

MrSpock 17. Jan 2005 07:00

Re: Textdatei als Datenbank nutzen
 
Hallo Opa Knack,

trage doch einmal deine Delphi Version in dein Profil ein. Ich nehme an, dass du Datenbank Support in Delphi hast (Professional Version oder höher). In diesem Fall könnte myBase etwas für dich sein. Basiert wahlweise auf XML oder einem internen Binärformat. Ein MyBase Tutorial gibt es bei Delphi-Source.de.

MaBuSE 17. Jan 2005 07:07

Re: Textdatei als Datenbank nutzen
 
Zitat:

Zitat von Opa Knack
Das Endprodukt soll weitergegeben werden, und ich möchte auf die BDE verzichten. Da das Produkt kostenlos sein wird, möchte ich natürlich auf die Lizenzierung einer DB verzichten.

Es gibt viele Alternativen zu der BDE.
Die BDE darf übrigens kostenlos mit Deiner Anwendung weitergegeben werden (nur wegen der Lizensieung).

Hier ist eine Seite mit Infos über Alternativen zur BDE (einige davon sind auch kostenlos).

http://www.kylecordes.com/bag/

Klicke auf "the List" um eine Liste aller auf dieser Seite besprochenen Alternativen zu bekommen.
Die Liste ist leider nicht sehr aktuell und selbstverständlich NICHT vollständig.

Von Textdateien würde ich Dir abraten. (Ich habe damit schlechte Erfahrungen gemacht.)

Ich würde Dir zu kbMemTable raten.
Das ist ein TDataset Abkömmling, der die Daten nur im Speicher vorhällt.
Es gibt aber die Möglichkeit die Daten abzuspeichern. (mehrere Formate und eigene Schnittstelle den Stream z.B. zu komprimieren)

[equote=" http://www.components4developers.com/ "]kbmMemTable
Simply the best Open Source, InfoWare in memory table for Delphi and BCB. The software is free and includes full source.[/equote]

Cyberbob_at_tot 17. Jan 2005 07:36

Re: Textdatei als Datenbank nutzen
 
Also ich habe einfach mit einer Textdatei gearbeitet,
Schau dir doch mal die DVD Datenbank auf meiner Homepage an, da habe ich als DB Datei eine TXT gewählt, war nur ein Text also nicht ernstnehmen das Programm.

ChristianDannenberg.info

MaBuSE 17. Jan 2005 07:52

Re: Textdatei als Datenbank nutzen
 
Zitat:

Zitat von Cyberbob_at_tot
Also ich habe einfach mit einer Textdatei gearbeitet,
Schau dir doch mal die DVD Datenbank auf meiner Homepage an, da habe ich als DB Datei eine TXT gewählt, war nur ein Text also nicht ernstnehmen das Programm.

Wenn du bei einer TTable Die Eigenschaft TableType auf ttASCII änderst, kannst Du zwar bei Tablename eine C:\TEMP\Datei.TXT verwenden, aber es wird immer noch die BDE benötigt.

Das Format der Textdatei kann übrigens über eine Schema-Datei (*.sch) Datei vorgegeben werden.

Es sind unter anderem Fixed Format, Variable Format, verschiedene Feldtypen, ... möglich
Aber es kann kein Index verwendet werden und es ist nur ein Anhängen von Daten möglich.
(Neue Daten werden also nur hinten an geschrieben)

In Delphi 1 und Delphi 2 war noch eine sehr ausführliche Beschreibung dieser Funktionalität in Form einer Text Datei beigelegt. In den neueren Versionen funktioniert das zwar immer noch, aber ich habe die Beschreibung noch nicht gefunden.

Opa Knack 18. Jan 2005 08:00

Re: Textdatei als Datenbank nutzen
 
Hallo,

Danke schon mal für die Antworten.

Ich habe mir jetzt erst einmal die typisierten Dateien angeschaut, die mich irgendwie an meine C64-Zeiten (sequentielle Dateien) erinnern. Damit kann man schon etwas umsetzen. Nur frage ich mich, ob das wirklich effektiv genug ist und wie "sicher" der Datenbestand ist. Das Problem ist, dass zwar nicht viele Daten abgelegt werden müssen, dass diese aber mehr oder weniger geschäftskritisch sind und somit ein Grundmaß an Sicherheit gegeben sein sollte (in Bezug auf fehlerhaften Umgang mit der DB-Datei, ...).

Somit komme ich auf XML und zu meiner nächsten Frage: Gibt es eine relativ einfache Möglichkeit oder ein verständliches Tutorial, mit dem selbst prähistorische Tastenquäler wie ich klar kommen könnten? Oder eine vorgefertigte Komponente, die auf diesen Zweck abzielt?

Und gehe ich recht in der Annahme, dass die XML-Variante durch ihren systematischen Aufbau sicherer und einfacher zu handeln ist als typisierte Dateien?

Danke
Opa

MaBuSE 18. Jan 2005 08:16

Re: Textdatei als Datenbank nutzen
 
Zitat:

Zitat von Opa Knack
Somit komme ich auf XML und zu meiner nächsten Frage: Gibt es eine relativ einfache Möglichkeit oder ein verständliches Tutorial, mit dem selbst prähistorische Tastenquäler wie ich klar kommen könnten? Oder eine vorgefertigte Komponente, die auf diesen Zweck abzielt?

Ja,
Mr. Spock gab Dir ja schon den Link auf das Tutorial.
Zitat:

Zitat von MrSpock
Ein MyBase Tutorial gibt es bei Delphi-Source.de.

XML speichern mit nur einem Befehl:
Delphi-Quellcode:
ClientDataSet1.SaveToFile('c:\temp\opa.xml', dfXML);

Robert_G 19. Jan 2005 08:55

Re: Textdatei als Datenbank nutzen
 
Damit man sich das Mapping zwischen Objeken und der Datei sparen kann werfe ich mal den Thread in die Diskussion. ;)

MrSpock 19. Jan 2005 09:31

Re: Textdatei als Datenbank nutzen
 
Hallo Opa Knack,

typisierte Dateien sind auch eine gute Lösung. Ich habe über Jahre hinweg mit typisierten Dateien gearbeitet und nie Probleme mit Datenverlusten gehabt. Natürlich ist eine tägliche Datensicherung Pflicht bei geschäftskritischen Daten!

Robert_G 19. Jan 2005 10:30

Re: Textdatei als Datenbank nutzen
 
Zitat:

Zitat von MrSpock
Hallo Opa Knack,

typisierte Dateien sind auch eine gute Lösung. Ich habe über Jahre hinweg mit typisierten Dateien gearbeitet und nie Probleme mit Datenverlusten gehabt. Natürlich ist eine tägliche Datensicherung Pflicht bei geschäftskritischen Daten!

Aber dann landest du bei Records! Die müssen dann wieder zu Instanzen deiner Klassen übersetzt werden. (Oder willst du tatsächlich mit Records in deiner Anwendung arbeiten? )
Außerdem kannst du keine alten Daten laden, wenn du den Record zwischendurch erweitert hast.
File of [Datentyp] halte ich generell für die schlechteste Persistenzlösung. ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:21 Uhr.
Seite 1 von 3  1 23      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz