Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Datenbankanwendung mit Delphi XE2 (https://www.delphipraxis.net/165220-datenbankanwendung-mit-delphi-xe2.html)

Jens Hartmann 19. Dez 2011 13:10

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

Datenbankanwendung mit Delphi XE2
 
Hallo und schönen guten Tag,

ich habe eine kleine Anwendung geschrieben in der ich zusätzlich jetzt eine Datenbank integrieren möchte. Besser gesagt, ich suche eine Möglichkeit Einstellungen und Benutzerdaten zu verwalten.

Aktuelle liegen die Einstellungen in einer INI-Datei. Da ich aber jetzt zusätzlich eine Benutzerberechtigung implementieren will, ist die Frage wo ich die Datenhaltung vorsehe. Hier sollte ja zumindest ein wenig Sicherheit hinterstehen. Ich brauche zwar keine hochwertige Passwortverschlüsselung, aber das Passwort sollte zumindest nicht im Klartext zu lesen sein.

Aktuell nutze ich in anderen Programmen schon Firebird über ZEOS und bin damit zufrieden. Jetzt frage ich mich nur, ob das für die kleine Menge Daten nicht übertrieben ist.

Wie würdet Ihr sowas lösen?

Gruß Jens

vagtler 19. Dez 2011 13:26

AW: Datenbankanwendung mit Delphi XE2
 
Zitat:

Zitat von Jens Hartmann (Beitrag 1142202)
[...] Wie würdet Ihr sowas lösen? [...]

Mit XML.

Bummi 19. Dez 2011 13:26

AW: Datenbankanwendung mit Delphi XE2
 
Für sowas nutze ich gerne Meminifiles oder Clientdatasets die ich z.B. per RC4 Stromverschlüsselung lese/schreibe.

Bernhard Geyer 19. Dez 2011 13:27

AW: Datenbankanwendung mit Delphi XE2
 
Wenns nur um etwas Sicherheit geht kannst du deine Inidatei komplett oder teilweise verschlüsseln.

Jens Hartmann 19. Dez 2011 13:44

AW: Datenbankanwendung mit Delphi XE2
 
Zitat:

Zitat von Bernhard Geyer
Wenns nur um etwas Sicherheit geht kannst du deine Inidatei komplett oder teilweise verschlüsseln.

Ja geht es. Das Risiko ist nicht groß. Selbst eine unverschlüsselte INI, wäre wahrscheinlich kein Problem. Ich finde es nur selber irgendwie nicht OK, wenn man ein Passwort im Klartext lesen kann.

Zitat:

Zitat von Bummi
Für sowas nutze ich gerne Meminifiles oder Clientdatasets die ich z.B. per RC4 Stromverschlüsselung lese/schreibe.

Zitat:

Zitat von vagtler
Mit XML.

Das hilft schon, werde das mal prüfen. Also seht Ihr es genauso, das eine DB mit Kanonen auf Spatzen geschossen wäre?

Bernhard Geyer 19. Dez 2011 13:46

AW: Datenbankanwendung mit Delphi XE2
 
Zitat:

Zitat von Jens Hartmann (Beitrag 1142209)
Also seht Ihr es genauso, das eine DB mit Kanonen auf Spatzen geschossen wäre?

Wenn's nur ein paar Einstellungen sind: Ja. XML hat den Charme das Sturkturiert ablegen zu können.

Bummi 19. Dez 2011 14:12

AW: Datenbankanwendung mit Delphi XE2
 
Bei einer kleinen Access-MDB per Ado habe ich wenig Skrupel

Bernhard Geyer 19. Dez 2011 14:16

AW: Datenbankanwendung mit Delphi XE2
 
Zitat:

Zitat von Bummi (Beitrag 1142212)
Bei einer kleinen Access-MDB per Ado habe ich wenig Skrupel

IIIIIIIIhhhhhhhh. Accesss :-)

Bummi 19. Dez 2011 14:34

AW: Datenbankanwendung mit Delphi XE2
 
@Bernhard Geyer

jaaa, grauslige Syntax, nicht wirklich netzwerktauglich, keine Trigger , aber für mal schnell lokal/singleuser : kann ich per Script komplett aus dem nichts erstellen und aufbauen, kennt Sichten und Prozeduren, hat mächtige Pivotfunktionen und ist relativ flott.

user0815 19. Dez 2011 15:31

AW: Datenbankanwendung mit Delphi XE2
 
Oder ne schnuckelige SQLite Datenbank mit den ZEOS.

http://www.sqlite.org/
http://sqliteadmin.orbmu2k.de/

mkinzler 19. Dez 2011 15:36

AW: Datenbankanwendung mit Delphi XE2
 
Ich würde hier zu FireBird raten. Ist skalierbar ( embedded, Server) voll ACID, Trigger, PL/SQL, ...

Jens Hartmann 19. Dez 2011 15:38

AW: Datenbankanwendung mit Delphi XE2
 
Was ist den eigendlich Grundsätzlich mit dem SQL-Server von Microsoft.

DeddyH 19. Dez 2011 15:40

AW: Datenbankanwendung mit Delphi XE2
 
Wenn Du sowieso auf einen Server angewiesen bist, dann spricht nichts dagegen.

Bernhard Geyer 19. Dez 2011 15:58

AW: Datenbankanwendung mit Delphi XE2
 
Zitat:

Zitat von Jens Hartmann (Beitrag 1142232)
Was ist den eigendlich Grundsätzlich mit dem SQL-Server von Microsoft.

Du musst halt damit rechnen so alle 1/2 - 1 Jahr bis zu 500 MB Monsterupdate zu bekommen ...

Bentissimo 19. Dez 2011 15:59

AW: Datenbankanwendung mit Delphi XE2
 
Hallo Jens,

also für so kleine, aber durchaus auch für etwas grössere Anforderungen verwende ich immer die EasyTable Komponenten.

Damit hast Du quasi eine lokale SQL-Datenbank mit kleinem Footprint und obendrein optionaler Verschlüsselung.

Ist zwar nicht kostenlos aber durch die Wiederverwendbarkeit auch keine schlechte Investition.

Ich war bisher immer sehr zufrieden. Die Homepage des Herstellers lautet http://www.aidaim.com.

Viel Erfolg!

Stephan

Bummi 19. Dez 2011 16:02

AW: Datenbankanwendung mit Delphi XE2
 
Zitat:

Was ist den eigendlich Grundsätzlich mit dem SQL-Server von Microsoft.
ich liebe ihn ... aber für Deine ursprünglichen Ansprüche ist selbst die Gratisversion etwas umfangreich ... zumindest was das Setup und die Voraussetzungen angeht.

Jens Hartmann 19. Dez 2011 16:12

AW: Datenbankanwendung mit Delphi XE2
 
Zitat:

Zitat von Bernhard Geyer
Du musst halt damit rechnen so alle 1/2 - 1 Jahr bis zu 500 MB Monsterupdate zu bekommen ...

Das ist in diesem Fall wirklich mit Kanonen auf Spatzen geschossen, aber Grundlegend stell ich mir halt die Frage. Der Gedanke entsteht eigendlich durch folgendes.

Zur aktuellen Anwendung könnte es später mal eine Web-Anwendung geben.
Intresse meinerseits wäre da, dieses über Microsoft VisualWebDeveloper zu realisieren. Dann wäre natürlich ein SQL-Server Express schon gut, was die Anbindung angeht.

Perlsau 19. Dez 2011 16:39

AW: Datenbankanwendung mit Delphi XE2
 
Zitat:

Zitat von Jens Hartmann (Beitrag 1142202)
Hallo und schönen guten Tag,

ich habe eine kleine Anwendung geschrieben in der ich zusätzlich jetzt eine Datenbank integrieren möchte. Besser gesagt, ich suche eine Möglichkeit Einstellungen und Benutzerdaten zu verwalten. Aktuelle liegen die Einstellungen in einer INI-Datei. Da ich aber jetzt zusätzlich eine Benutzerberechtigung implementieren will, ist die Frage wo ich die Datenhaltung vorsehe. Hier sollte ja zumindest ein wenig Sicherheit hinterstehen. Ich brauche zwar keine hochwertige Passwortverschlüsselung, aber das Passwort sollte zumindest nicht im Klartext zu lesen sein.

Ich verwende in solchen Fällen fast immer eine Tabelle "Benutzer", in der alle benutzerspezifischen Daten abgelegt werden. Passwort und Benutzername werden verschlüsselt abgespeichert, wobei für jeden Benutzer ein eigener Schlüssel existiert, der ebenfalls in der Datenbank gespeichert wird.

Mit dieser Vorgehensweise ist es mir ein Leichtes, unbegrenzt viele Benutzer mit ihren persönlichen Einstellungen (Fenstergröße, Spaltengrößen vo Tabellen, Farbeinstellungen usw.) zu verwalten. Früher hab ich mir Ini-Zeugs meist mittels ClientDataset auf die Platte geschrieben. Ist aber nicht so komfortabel wie die eigentliche Datenbank zu verwenden. Ich meine, wenn ich schon eine Datenbank verwende, weshalb nicht auch alles in dieser Datenbank abspeichern?

Zitat:

Zitat von Jens Hartmann (Beitrag 1142202)
Aktuell nutze ich in anderen Programmen schon Firebird über ZEOS und bin damit zufrieden. Jetzt frage ich mich nur, ob das für die kleine Menge Daten nicht übertrieben ist.
Wie würdet Ihr sowas lösen?

Je nachdem, welche Anforderungen gegeben sind, nehme ich sogar hin & wieder Access, meistens jedoch ebenfalls Firebird. Ganz selten mal MySQL. Mit PostGres hab ich einmal ein Testprogramm geschrieben, aber noch keine ernsthafte Anwendung. MsSQL hab ich mal für einen Kunden gebraucht (Datenbank wurde geliefert).

Firebird bietet zudem den Vorteil, daß man in nur wenigen Minuten aus einer Server-Datenbank eine Embedded-Datenbank machen kann. Ein Beispiel stellt mein Pflanzenkatalog dar, den ich hier zu Hause als Server-Datenbank betreibe, an Endverbraucher aber meist als Embedded verkaufe: http://www.pcheil.de/Site/Pflanzen.htm

DasZiesel 19. Dez 2011 17:15

AW: Datenbankanwendung mit Delphi XE2
 
Ehrlich, um ein paar Einstellungen zu speichern bedarf es keiner Datenbank. Eine verschlüsselte XML Datei reicht für diesen Zweck völlig aus.

Perlsau 19. Dez 2011 20:56

AW: Datenbankanwendung mit Delphi XE2
 
Zitat:

Zitat von DasZiesel (Beitrag 1142253)
Ehrlich, um ein paar Einstellungen zu speichern bedarf es keiner Datenbank. Eine verschlüsselte XML Datei reicht für diesen Zweck völlig aus.

Offenbar hast du diesen Satz überlesen: "Ich meine, wenn ich schon eine Datenbank verwende, weshalb nicht auch alles in dieser Datenbank abspeichern?"

Und wieso der Zusatz "ehrlich"? Möchtest du damit Fraglosigkeit produzieren, weil du Widerspruch auf deine unbewiesene Behauptung vermeiden willst?

Jens Hartmann 19. Dez 2011 21:19

AW: Datenbankanwendung mit Delphi XE2
 
Zitat:

Zitat von Das Ziesel
Ehrlich, um ein paar Einstellungen zu speichern bedarf es keiner Datenbank. Eine verschlüsselte XML Datei reicht für diesen Zweck völlig aus.

Das ist wohl war, aber...

Zitat:

Zitat von Jens Hartmann
Zur aktuellen Anwendung könnte es später mal eine Web-Anwendung geben.
Intresse meinerseits wäre da, dieses über Microsoft VisualWebDeveloper zu realisieren. Dann wäre natürlich ein SQL-Server Express schon gut, was die Anbindung angeht.

könnte ja unter umständen trotzdem eine Überlegung Wert sein.

Gruß Jens

neo4a 20. Dez 2011 08:51

AW: Datenbankanwendung mit Delphi XE2
 
Zitat:

Zitat von Perlsau (Beitrag 1142293)
Offenbar hast du diesen Satz überlesen: "Ich meine, wenn ich schon eine Datenbank verwende, weshalb nicht auch alles in dieser Datenbank abspeichern?"

Und nicht nur das. Er übersieht auch m.E. den Vorteil, den man mit einer einheutlichen Speicherlogik hat und die Einsatzmöglichkeit im C/S-Umfeld, wo clientseitig praktisch konfigurationslos die Benutzereinstellungen mit der Anmeldung verknüpft werden können. Nachteil: Zur Änderung "on the fly" benötige ich ein DB-Tool, andererseits, wenn die XML-Datei verschlüsselt ist, wird es mit Notepad und Co. auch etwas schwer...ach.

Zitat:

Zitat von Perlsau (Beitrag 1142293)
Möchtest du damit Fraglosigkeit produzieren, weil du Widerspruch auf deine unbewiesene Behauptung vermeiden willst?

Was für eine herrliche Formulierung. Du programmierst nicht auch zufällig einen Rhetorik-Generator?

Perlsau 20. Dez 2011 12:57

AW: Datenbankanwendung mit Delphi XE2
 
Zitat:

Zitat von neo4a (Beitrag 1142318)
Zitat:

Zitat von Perlsau (Beitrag 1142293)
Offenbar hast du diesen Satz überlesen: "Ich meine, wenn ich schon eine Datenbank verwende, weshalb nicht auch alles in dieser Datenbank abspeichern?"

Und nicht nur das. Er übersieht auch m.E. den Vorteil, den man mit einer einheutlichen Speicherlogik hat und die Einsatzmöglichkeit im C/S-Umfeld, wo clientseitig praktisch konfigurationslos die Benutzereinstellungen mit der Anmeldung verknüpft werden können. Nachteil: Zur Änderung "on the fly" benötige ich ein DB-Tool, andererseits, wenn die XML-Datei verschlüsselt ist, wird es mit Notepad und Co. auch etwas schwer...ach.

Genau so mach ich das meistens: Bei der Anmeldung, wenn Passwort und Username übereinstimmen, werden die beim letzten Programmende gespeicherten Einstellungen geladen und die Anwendung wieder so konfiguriert, wie der Anwender sich das zuvor eingestellt hatte. Keine Registry und keine extra Datei ... alles schön kompakt.

Benutzertabellen benötigt man bei großen (Kunden-)DBs, wo sich häufig mehrere Leute gleichzeitig an der DB anmelden, um zu fakturieren, Datenbestände abzurufen, Bestellungen aufzugeben und dergleichen, sowieso. Da ist es doch nicht abwegig, auch benutzerspezifische Daten wie Fenstergröße, Farbeinstellungen, Spaltengrößen, Splitter-Positionen usw. dort mit abzuspeichern. Vor allem spart es viel Zeit und Aufwand: Eine neue Spalte ist auch ohne DB-Tool via SQL schnell erstellt. Auch Verschlüsselung wäre da kein Problem ...

Zitat:

Zitat von neo4a (Beitrag 1142318)
Zitat:

Zitat von Perlsau (Beitrag 1142293)
Möchtest du damit Fraglosigkeit produzieren, weil du Widerspruch auf deine unbewiesene Behauptung vermeiden willst?

Was für eine herrliche Formulierung. Du programmierst nicht auch zufällig einen Rhetorik-Generator?

Danke für die Blumen :) Und nein, sowas programmiere ich nicht, bin doch selber einer :-D

Die Fähigkeit, sich treffend und präzise ausdrücken zu können, kommt vom vielen Lesen. Ich lese so um die 30 Bücher pro Jahr, vorwiegend über Soziologie und Psychologie, aber auch über Marktwirtschaft, (Medien-)Manipulation, Sprachkritik und allgemeine Philosophie. Wenn es dich interessiert, darfst du gerne meine private Homepage besuchen.

neo4a 20. Dez 2011 13:16

AW: Datenbankanwendung mit Delphi XE2
 
Zitat:

Zitat von Perlsau (Beitrag 1142384)
Die Fähigkeit, sich treffend und präzise ausdrücken zu können, kommt vom vielen Lesen.

Wenn man es sinnentnehmend kann, bestimmt.

Es ist aber ein kennzeichnendes Merkmal der heutigen Zeit, dass einem die Muße für's anspruchsvolle Lesen kaum bleibt und wenn man es denn tut, hat man wenig Ansprechpartner in der realen Welt, die geprägt ist von Comic-Sprech, Facebook-LOLs und SMS ohne Interpunktion und Grammatik. Damals, als unsere Fernseher noch auschließlich schwarz/weiß darstellten, da - ja da ... ;)

Perlsau 20. Dez 2011 13:25

AW: Datenbankanwendung mit Delphi XE2
 
Zitat:

Zitat von neo4a (Beitrag 1142391)
Zitat:

Zitat von Perlsau (Beitrag 1142384)
Die Fähigkeit, sich treffend und präzise ausdrücken zu können, kommt vom vielen Lesen.

Wenn man es sinnentnehmend kann, bestimmt.

Es ist aber ein kennzeichnendes Merkmal der heutigen Zeit, dass einem die Muße für's anspruchsvolle Lesen kaum bleibt und wenn man es denn tut, hat man wenig Ansprechpartner in der realen Welt, die geprägt ist von Comic-Sprech, Facebook-LOLs und SMS ohne Interpunktion und Grammatik. Damals, als unsere Fernseher noch auschließlich schwarz/weiß darstellten, da - ja da ... ;)

Du meinst, es gibt Menschen, die lesen, ohne dem Gelesenen einen Sinn entnehmen zu können? Wer liest denn schon Bücher, deren Sinn ihm verborgen bleibt?

Muse benötige ich keine, sondern lediglich Interesse. Das Wort "Interesse" bedeutet soviel wie "darinnen sein", in der Sache selbst sein, also eine innere Beziehung zum Gegenstand des Interesses. Dann liest man einfach deshalb, weil man wissen möchte.

Nun aber genug off topic, bei Interesse kannst du ja einen Thread im Klatsch&Tratsch aufmachen ...

neo4a 20. Dez 2011 14:23

AW: Datenbankanwendung mit Delphi XE2
 
Zitat:

Zitat von Perlsau (Beitrag 1142394)
Muse benötige ich keine, sondern lediglich Interesse.

Ganz ohne Ironie: Das ist schön für Dich.

Mir fehlt es auch nicht so sehr an einer Muse (= Person zur Inspiration), dagegen viel zu oft an der nötigen Muße (= Zeit und Gelegenheit) und das ist auch der Grund, weshalb ich Dir dahin:
Zitat:

Zitat von Perlsau (Beitrag 1142394)
Klatsch&Tratsch

leider nicht folgen kann.

Jens Hartmann 9. Jan 2012 13:30

AW: Datenbankanwendung mit Delphi XE2
 
Hallo zusammen,

ich wollte Euch nur kurz informieren, für welche Lösung ich mich jetzt entschieden habe. Ich werde, auch wenn es völlig übertrieben klingt, einen SQL Server Express R2 verwenden. Erstens möchte ich das ganze mal testen und wissen wie es funktioniert. Übrigens erste versuche sehr erfolgreich.
Und zweitens ist diese ja ebenfalls kostenlos.

Das die Ausführung einfacher zu lösen wäre ist mir bewusst.

Trotzdem danke für die vorschläge.

Gruß Jens


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:02 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 by Thomas Breitkreuz