Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Welche DB für Desktop App mit Community Ed.? (https://www.delphipraxis.net/210052-welche-db-fuer-desktop-app-mit-community-ed.html)

pertzschc 22. Feb 2022 16:41

Datenbank: Gesucht! • Version: ?? • Zugriff über: ???

Welche DB für Desktop App mit Community Ed.?
 
Hallo in die Runde,
ich möchte nach langer Pause eine kleine Desktop App mit DB mit der Community Edition entwickeln, in der 2-3 Tabellen und ca. 1000 Datensätze abgelegt werden sollen. Was würdet Ihr mir dafür empfehlen?
Wichtig wäre, dass man die DB auf bei einem Rechnerumzug mitnehmen(notfalls exportieren/importieren) kann.
Danke und Grüße,
Christoph

Bernhard Geyer 22. Feb 2022 16:51

AW: Welche DB für Desktop App mit Community Ed.?
 
bei 1000 Datensätzen kannst du das doch komplett im Speicher halten und als CSV/Excel/XML-Format im Dateisystem speichern.

Andreas13 22. Feb 2022 17:02

AW: Welche DB für Desktop App mit Community Ed.?
 
Hallo Christoph,
Absolute Database https://componentace.com/bde_replace...e_database.htm ist recht einfach zu verwenden. Eine kostenfreie und voll funktionsfähige Testversion + viele sofort einsatzfähige Demos sind dabei.
Viel Erfolg!

Grüße, Andreas

TurboMagic 22. Feb 2022 17:56

AW: Welche DB für Desktop App mit Community Ed.?
 
SQLite. Soweit ich weiß, wird da die DB Engine sogar mit in die EXE integriert,
könnte aber auch falsch liegen.

Nur ich glaube Transaktionen gehen damit nicht und Verletzungen von Datentypen
werden auch nicht konsequent als Fehler behandelt. Vorteil wäre aber: es ist
schnell und kostenlos.

Delphi.Narium 22. Feb 2022 18:16

AW: Welche DB für Desktop App mit Community Ed.?
 
FireBird, Embedded-Variant?

Der schöne Günther 22. Feb 2022 19:13

AW: Welche DB für Desktop App mit Community Ed.?
 
Zitat:

Zitat von TurboMagic (Beitrag 1502584)
SQLite. (...)
Nur ich glaube Transaktionen gehen damit nicht und Verletzungen von Datentypen
werden auch nicht konsequent als Fehler behandelt.

Doch, Transaktionen gehen bestens. Wir reden über FireDAC als Zugriffsmechanismus, richtig?
Die Sache mit "Verletzung" von Datentypen liegen ja eher an Sqlite selbst.

Zitat:

SQLite strives to be flexible regarding the datatype of the content that it stores. For example, if a table column has a type of "INTEGER", then SQLite tries to convert anything inserted into that column into an integer. So an attempt to insert the string '123' results in an integer 123 being inserted. But if the content cannot be losslessly converted into an integer, for example if the input is 'xyz', then the original string is inserted instead.
PS: Seit Ende 2021 hat Sqlite auch einen "Strict" Mode. Den muss ich unbedingt mal ausprobieren.
Mehr Infos hier:
https://www.sqlite.org/stricttables.html

pertzschc 22. Feb 2022 20:44

AW: Welche DB für Desktop App mit Community Ed.?
 
Zitat:

Zitat von Bernhard Geyer (Beitrag 1502580)
bei 1000 Datensätzen kannst du das doch komplett im Speicher halten und als CSV/Excel/XML-Format im Dateisystem speichern.

Ja das wäre eine Alternative. Wie sieht es mit JSON aus? Gibt es dafür aktuelle (gute) Komponenten?
Grüße, Christoph

Redeemer 22. Feb 2022 22:33

AW: Welche DB für Desktop App mit Community Ed.?
 
Es gibt Delphi-Referenz durchsuchenSystem.JSON bei aktuellen Delphis.

Für ältere Delphis (ab 2009, wegen Generics) gibt es Tdjson: Wenn man überwiegend mit verschachtelten Objekten arbeitet, ist das ohne einen selbstgeschriebenen class helper unübersichtlich zu benutzen. Die Methode Parse(), die de-facto der Konstruktor ist, ist aus irgendeinem Grund als class function deklariert, und es wurde nicht daran gedacht, dass man deshalb Result im Falle eines Fehlers aus dem Speicher löschen muss.

haentschman 23. Feb 2022 05:59

AW: Welche DB für Desktop App mit Community Ed.?
 
Moin...8-)
Zitat:

2-3 Tabellen
Zitat:

bei 1000 Datensätzen kannst du das doch komplett im Speicher halten und als CSV/Excel/XML-Format im Dateisystem speichern.
Zitat:

Ja das wäre eine Alternative.
...bis zu größeren Datenmengen. :? Wer weiß heute, erst recht du, daß du später nicht die von dir erhofften Datenmengen überschreitest? Und darin suchen mußt? Warum muß ich mir immer ALLE Daten in den Speicher laden, wenn ich nur einen kleinen Teil benötige? :gruebel:

[meine Meinung]
Datenhaltung gehört in die Hände von Datenbanken. CSV/XML/JSON sind Datenübertragungsformate und keine Datensätze. Manche Anwendungen benutzen Datenbanken als "Speichermedium" für die Einstellungen statt INI oder so. Ich benutze auch XML für statische Daten und schätze die Möglichkeit der schnellen Manipulation (Editor) der "Vorgaben"...hätte man so auch in eine Tabelle schreiben können. :wink:
[/meine Meinung]

Zum Thema:

Kriterien für die Auswahl der DB:
1. Mehrbenutzerfähig J/N
2. Sicherung / Backup einfach
3. Admin Tool in schön... :lol:
4. klein aber fein
5. Zugriffskomponenten stabil

Mein Favorit:
Firebird: Weil je nach Anwendung mehrbenutzerfähig oder Embededd sein kann, mit ein und der selben Datenbankdatei. Sicherung nur eine Datei...:thumb:
Zugriff: kostenlos ZEOS, bezahlt UniDAC

:wink:

Rollo62 23. Feb 2022 06:14

AW: Welche DB für Desktop App mit Community Ed.?
 
Ich denke in der Community Version ist kein großartiger DB Support dabei (kann mich aber irren).
Also bliebe ZEOS (frei) oder UniDac (kostet was).

Wenn die Community aber lokal alles hat, und nur kein Client/Server, dann sollte auch Sqlite dabei sein.
Komplett InMemory wäre dann mit FdMemTable möglich, aber Sqlite ist schon eine richtige DB.

Deshalb wäre die Frage was in der CommunityVersion eigentlich drin ist.

hoika 23. Feb 2022 06:52

AW: Welche DB für Desktop App mit Community Ed.?
 
Hallo,
xml-Dateien gingen auch noch m

KodeZwerg 23. Feb 2022 07:36

AW: Welche DB für Desktop App mit Community Ed.?
 
Ich weiß es ehrlich gesagt auch nicht was in der Community Edition enthalten ist aber habe für die Community Edition hier eine Anleitung gefunden:
Delphi Community Edition database tutorial

Community Edition
Zitat:

build database apps with local/embedded capabilities, and use included components to enhance your app and reduce development cycles

MEissing 23. Feb 2022 07:41

AW: Welche DB für Desktop App mit Community Ed.?
 
Die Community Edition entspricht (fast) der Professional Edition (+Nag-Screen, - Kommandozeilen-Compiler, +/- andere Lizenz).

FireDAC ist eingeschränkt auf wenige, lokale Datenbanken

InterBase Express/IBX ist normal dabei (und kann auch im Netzwerk auf InterBase Datenbanken zugreifen)

ADO ist auch dabei. Damit wäre MS Access, MS SQL (Express), ... sogar ODBC etc möglich

Sinspin 23. Feb 2022 09:26

AW: Welche DB für Desktop App mit Community Ed.?
 
Zitat:

Zitat von Andreas13 (Beitrag 1502581)

Die verwende ich auch.

Für einzelne Tabellen oder Importe muss die KbmMemTable herhalten. Speichern und Laden in/aus CSV Dateien.

Frickler 23. Feb 2022 11:51

AW: Welche DB für Desktop App mit Community Ed.?
 
Zitat:

Zitat von Andreas13 (Beitrag 1502581)
Hallo Christoph,
Absolute Database https://componentace.com/bde_replace...e_database.htm ist recht einfach zu verwenden. Eine kostenfreie und voll funktionsfähige Testversion + viele sofort einsatzfähige Demos sind dabei.

Wird aber - so scheints - nicht mehr wirklich weiterentwickelt. Seit vielen Jahren beschränken sich Änderungen auf Anpassungen an die jeweils neuste Delphi-Version. Unterstützt wird nur Windows, nicht Linux, nicht Mac, nicht Mobil. Dafür rückwärtskompatibel bis Delphi 4 (!). Leider auch nicht kompatibel zu Lazarus.

Zitat:

Zitat von TurboMagic (Beitrag 1502584)
SQLite. Soweit ich weiß, wird da die DB Engine sogar mit in die EXE integriert,
könnte aber auch falsch liegen.

Kann man machen, ist dann aber auf eine relativ alte Version festgelegt (halt die, die zum Zeitpunkt der Veröffentlichung der Delphi-Version aktuell war). Oder man verwendet statt FireDAC alternative Komponenten wie etwa DISQLite.

Uwe Raabe 23. Feb 2022 12:00

AW: Welche DB für Desktop App mit Community Ed.?
 
Zitat:

Zitat von Frickler (Beitrag 1502613)
Kann man machen, ist dann aber auf eine relativ alte Version festgelegt (halt die, die zum Zeitpunkt der Veröffentlichung der Delphi-Version aktuell war).

Was wiederum den Vorteil hat, dass durch ein Unachtsames SQLite-Update (oder gar Downgrade) im System das eigene Programm plötzlich nicht mehr richtig funktioniert. Auch kann man mit einem Programmupdate wieder gezielt die passende Version (quasi eingebacken) mitliefern. Gerade in Umgebungen mit schwach EDV-affinen Usern kann das eine Überlegung wert sein.


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:39 Uhr.

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