AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Welche Datenbank und Zugriffskomponenten für kleine Datenbank-Anwendung?
Thema durchsuchen
Ansicht
Themen-Optionen

Welche Datenbank und Zugriffskomponenten für kleine Datenbank-Anwendung?

Ein Thema von Helmi · begonnen am 24. Mai 2015 · letzter Beitrag vom 9. Mai 2016
Antwort Antwort
Seite 1 von 2  1 2      
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.387 Beiträge
 
Delphi 10.4 Sydney
 
#1

AW: Welche Datenbank und Zugriffskomponenten für kleine Datenbank-Anwendung?

  Alt 6. Mai 2016, 08:08
[QUOTE=Harry Stahl;1337583]
Z.B. hier:

* mit der ergänzenden Frage, ob verständliche Literatur zur Programmierung mit Delphi-Datenbanken existiert, bzw. was man da empfehlen kann.
englisch scheidet aber glaube ich bei dir aus? Sonst würde ich dir das Buch über ClientDataset von Carry Jensen empfehlen. wobei das halt speziell ClientDataset behandelt und sich nicht der Datenbankproblematik widmet.

Allgemein Datenbanken gibt es eine handvoll Tutorials - ich habe ein paar zu IBX geschrieben, die sind jetzt um die 15 Jahre alt, aber bzgl. der Anwendung gibt es selbst heute bei Verwendung von Firedac anstelle von IBX nur marginale Unterschiede.

Ich finde SQLite zwar nicht toll, aber warum fängst Du nicht einfach mal hier an:
http://docwiki.embarcadero.com/RADSt...nk_mit_FireDAC

und erweiterst das dann nach und nach - und für konkrete Fragen gibt es ein gutes Forum
  Mit Zitat antworten Zitat
Benutzerbild von TRomano
TRomano

Registriert seit: 24. Nov 2004
Ort: Düsseldorf
194 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Welche Datenbank und Zugriffskomponenten für kleine Datenbank-Anwendung?

  Alt 6. Mai 2016, 10:24
Hallo Harry,

Literatur zu Datenbanken gibt es am Markt ja reichlich. Delphi hat "von Natur aus" immer Interbase/Firebird unterstützt, später kamen in den Professional und Enterprise-Versionen
andere hinzu. Aber Delphi-Datenbanken gibt es nun wirklich nicht, aber Delphi hat sich schon immer als Datenbank-Tool positioniert.

Wie einige Vorredner schon empfahlen könntest Du als Datenbank Firebid einsetzen, da Dir diese Software eben gewährleistet,
dass Du je nach Einsatzzweck die lokale (heißt hier embedded) oder die C/S-Engine einsetzt. Helen Borrie hat dazu (Firebird) mindestens drei gute Bücher geschrieben. Hier sind
wirklich alle Bereiche der Administration und Entwicklung abgehandelt. Ab Version 2 is Firebird empfehlenswert, in der 3.0 sind viele gute Dinge hinzugekommen.

Es gibt auch deutschsprachige Literatur zu allgemeinem SQL, was für die grundsätzlichen Dinge auch reicht. Datenbankspezifische Dinge gibt es dann in der angebotenen Literatur
der Hersteller (über T-SQL, PL/SQL, Reporting-Services usw.).

Gruß Thomas
Thomas Forget
  Mit Zitat antworten Zitat
hstreicher

Registriert seit: 21. Nov 2009
223 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#3

AW: Welche Datenbank und Zugriffskomponenten für kleine Datenbank-Anwendung?

  Alt 6. Mai 2016, 12:51
Delphi Datenbanken : BDE , TurboDB, (veraltet) Turbopower FlashFiler
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.211 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Welche Datenbank und Zugriffskomponenten für kleine Datenbank-Anwendung?

  Alt 6. Mai 2016, 12:58
Delphi Datenbanken : BDE , TurboDB, (veraltet) Turbopower FlashFiler
BDE ist aber eine Zugriffstechnik und keine DB. Das wäre Paradox und dBase.
TurboDB ist auch nicht mehr auf Delphi beschränkt.

Reine Delphi-Datenbanken dürfte es wahrlich nicht mehr geben. Aber es gibt ein paar die ihren Ursprung in dem Bereich haben.
Reine Delphi-Datenbank dürft noch die (immer noch vorhandene) Mini-DB-Engine auf XML-Basis sein.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
mm1256

Registriert seit: 10. Feb 2014
Ort: Wackersdorf, Bayern
642 Beiträge
 
Delphi 10.1 Berlin Professional
 
#5

AW: Welche Datenbank und Zugriffskomponenten für kleine Datenbank-Anwendung?

  Alt 6. Mai 2016, 16:54
Reine Delphi-Datenbanken dürfte es wahrlich nicht mehr geben.
Doch, gibt es noch, und sogar eine sehr gute: NexusDB
Das ist der Nachfolger von Turbopower's FlashFiler. Entwickelt in Australien, Hauptprogrammierer ist ein Deutscher, Thorsten Engler.

Es gibt 3 Möglichkeiten die Datenbank anzuwenden: Embedded Version (keine externen Dateien oder DLL's, keine Installation), Client-Server-Version (Protokolle: TCP/IP, Named Pipe und Shared Memory) mit externem DB-Server, oder mit einem eigenen DB-Server den man in seine Anwendung linken kann, die dann gleichzeitig den Clients als DB-Server zur Verfügung steht. Der Datentransfer aller Protokolle kann verschlüsselt werden.

Clients für Android und iOS sind in der Pipeline und somit wird man (hoffentlich bald) auch von mobilen Geräten aus direkten Zugriff auf die Datenbank haben.

Die Datenbank ist vollständig in Delphi programmiert. Man bekommt den kompletten Delphi-Quellcode (nicht kostenlos, ist aber nicht so teuer, wie man glaubt). Und, man kann aus dem Quellcode sehr viel lernen.
Gruss Otto PS: Sorry wenn ich manchmal banale Fragen stelle. Ich bin Hobby-Programmierer und nicht zu faul die SuFu zu benutzen
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.542 Beiträge
 
Delphi 12 Athens
 
#6

AW: Welche Datenbank und Zugriffskomponenten für kleine Datenbank-Anwendung?

  Alt 6. Mai 2016, 20:03
Erst mal recht herzlichen Dank für Eure teilweise recht umfangreichen Antworten. Das hat mir auf jeden Fall schon mal mehr Orientierung verschafft.

Einige kurze Rückmeldungen:

Ich finde SQLite zwar nicht toll, aber warum fängst Du nicht einfach mal hier an:
http://docwiki.embarcadero.com/RADSt...nk_mit_FireDAC

und erweiterst das dann nach und nach - und für konkrete Fragen gibt es ein gutes Forum
Das werde ich auf jeden Fall mal ausprobieren, Danke.

englisch scheidet aber glaube ich bei dir aus? Sonst würde ich dir das Buch über ClientDataset von Carry Jensen empfehlen. wobei das halt speziell ClientDataset behandelt und sich nicht der Datenbankproblematik widmet.
Nö, wie kommst Du darauf. War gestern Abend per Zufall auf das Buch gestoßen, habe ich mir direkt bestellt, sollte morgen da sein.


Konkrete Systeme
- SQLite, besonders wenn man Mobile Systeme im Blick hat
- Firebird, besonders nach der V 3.0, die nun endlich da ist. Interessant wegen der lokalen Server Engine. Programme können damit standalone betrieben werden oder als client/server.
Da diese mehrfach genannt wurden und von der Leistungsbeschreibung interessant sind, werde ich mir diese mal näher ansehen. Gibt es irgendwo Beispiele für FireBird? Bei den Delphi-Demos scheint nichts dabei zu sein.

Wie einige Vorredner schon empfahlen könntest Du als Datenbank Firebid einsetzen, da Dir diese Software eben gewährleistet,
dass Du je nach Einsatzzweck die lokale (heißt hier embedded) oder die C/S-Engine einsetzt. Helen Borrie hat dazu (Firebird) mindestens drei gute Bücher geschrieben. Hier sind
wirklich alle Bereiche der Administration und Entwicklung abgehandelt. Ab Version 2 is Firebird empfehlenswert, in der 3.0 sind viele gute Dinge hinzugekommen.
Das sind 3 Bücher, alle so um die 500 Seiten. Gibt es auch etwas kompakteres?
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#7

AW: Welche Datenbank und Zugriffskomponenten für kleine Datenbank-Anwendung?

  Alt 7. Mai 2016, 09:29
Zu dem leeren Formular:
Entweder, es sind keine Daten drin oder es fehlt eine Aktivierung/ Öffnen der Datenmenge oder es ist beim Öffnen ein Fehler aufgetreten, der irgendwie unterschlagen wird.
Nimm einen Datenbankexplorer und schau in die Tabellen rein oder trag damit gleich selbst Datensätze ein.

Konkrete Systeme
- SQLite, besonders wenn man Mobile Systeme im Blick hat
- Firebird, besonders nach der V 3.0, die nun endlich da ist. Interessant wegen der lokalen Server Engine. Programme können damit standalone betrieben werden oder als client/server.
Da diese mehrfach genannt wurden und von der Leistungsbeschreibung interessant sind, werde ich mir diese mal näher ansehen. Gibt es irgendwo Beispiele für FireBird? Bei den Delphi-Demos scheint nichts dabei zu sein.
Firebird sollte sehr kompatibel zu Interbase sein. Und nochmal, egal welches Relationale Database Management System RDBMS Du verwendest, die Handhabung(!) in Delphi ist haezu identisch*1. Die Entscheidung für ein RDBMS ist verwoben mit der Frage, welche Zugriffskomponenten in D verwendet werden (sollen), einschließlich der Zukunftsperspektive dieser Komponenten und ggF der DLL Frage, die Du gestellt hast.
Wirkliche Unterschiede gibt es dann höchstens bei der Definition der Connection. Abhängig von der Technologie werden hier mal Dateien angegeben, bei anderen dann benannte DB, ..
Das ist ja (u.a) genau ein Punkt, womit D mal angetreten ist, die (immergleichen) Datenbankkomponenten als Abstraktionsschicht zu beliebigen DB. Siehe auch ODBC, JDBC, ...
Ein Code und eine beliebige DB dahinter.

*1Und zuletzt: So zu programmieren, dass die DB austauschbar ist, wäre eine Strategie oder Vorgehensweise, da die verschiedenen Systeme zwar einen Standard unterstützen (nie zu 100%), am Ende aber doch auch eigene Wege gehen und unterschiedliche Anforderungen bedienen, wird mit dem Moment der Nutzung spezifischer SQL Funktionen aus der austauschbaren DB ein Zwang oder eine "Ehe" oder wie man das auch immer nennen möchte.
DLL spielen dabei auch eine Rolle, das könnte man so zusammenfassen. Jedes System braucht eine Clientkomponente in Form einer oder mehrerer DLL. Die wird entweder mitgeliefert/verschenkt, gekauft, durch den Kunden selbst installiert oder ist das gleiche wie der Server (besonders SQLite, so ähnlich auch bei Firebird).

Zu allerletzt zu den Firebird Beispielen. Wenn Du irgendein Datenbankbeispiel nimmst und es ist nicht für Firebird, kannst Du es dennoch mit großer Wahrscheinlichkeit in Firebird umsetzen.
Z.B.
Code:
CREATE TABLE Employee (
    Employee_ID int NOT NULL,
    NAME       varchar (50) NOT NULL,
    DESCRIPTION varchar (250) NOT NULL
)
Kannst Du in vielen verschiedenen DB verwenden. Nimm ein SQL Tool Deiner Wahl, erzeuge damit eine DB, lass das Script laufen und Du kannst mit dem Tutorial loslegen. Manchmal gibt es unterschiedliche Namen für die Typen, aber es wird Dir sicher nicht schwer fallen, ein INT gegen INTEGER oder NUMBER auszutauschen. Auf die Art kannst Du "beliebige" Tutorials verwenden. Es gibt natürlich einen Haufen anderer, kleiner Gemeinheiten, die dürften sich aber spätestens hier im Forum schnell und einfach lösen lassen. SQLite hat zum Beispeil eine recht ungewöhnliche Art der Spaltentypisierung. AutoInc Felder sind auch gern überall etwas anders, alles aber halb so wilrd...
Gruß, Jo

Geändert von jobo ( 7. Mai 2016 um 09:31 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von TRomano
TRomano

Registriert seit: 24. Nov 2004
Ort: Düsseldorf
194 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Welche Datenbank und Zugriffskomponenten für kleine Datenbank-Anwendung?

  Alt 9. Mai 2016, 13:32
@Harry Stahl:

Ja, es sind 3 Bücher, aber erstens brauchst Du zum Programmieren wohl nur Band 1 & 2 und zweitens finde ich sie kompakt, denn sonst bekommst Du meistens Wälzer mit >800 Seiten
Thomas Forget
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.211 Beiträge
 
Delphi 10.4 Sydney
 
#9

AW: Welche Datenbank und Zugriffskomponenten für kleine Datenbank-Anwendung?

  Alt 6. Mai 2016, 20:52
Reine Delphi-Datenbanken dürfte es wahrlich nicht mehr geben.
Doch, gibt es noch, und sogar eine sehr gute: NexusDB
Mit reiner Delphi-DB meinte ich das nur von Dephi (bzw. C++-Builder) ein Zugriff möglich ist. Da Nexus PHP/ADO.NET und ODBC unterstütz ist es (nach meiner Definition) keine reine Delphi-Datenbank mehr.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.542 Beiträge
 
Delphi 12 Athens
 
#10

AW: Welche Datenbank und Zugriffskomponenten für kleine Datenbank-Anwendung?

  Alt 6. Mai 2016, 22:21
Ich finde SQLite zwar nicht toll, aber warum fängst Du nicht einfach mal hier an:
http://docwiki.embarcadero.com/RADSt...nk_mit_FireDAC

und erweiterst das dann nach und nach - und für konkrete Fragen gibt es ein gutes Forum
So, das habe ich nun mal gemacht. Das Beispiel ist insofern nicht schlecht, als dass es mir zeigt, wie ich eine Datenbank öffne und es letztlich deutlich wird, dass ich , je nach FDPhys*DriverLink offensichtlich eine ganze Reihe unterschiedlicher Datenbanktypen öffnen kann.

Soweit so gut.

Leider funktioniert das Beispiel nicht. Kann zwar die Verbindung herstellen und ohne Fehlermeldung das Execute ausführen, allerdings sind für Name und Department keine Einträge vorhanden (siehe anliegenden Screenshot).

Woran kann das liegen?

Und weitere Frage: Mal angenommen, das wäre jetzt mein Programm, müssen hierfür irgendwelche DLL-Dateien weitergegeben werden, damit es auch auf anderen Computern funktioniert (so wie früher die Midas.dll)?
Angehängte Grafiken
Dateityp: jpg DB-Output.jpg (22,6 KB, 23x aufgerufen)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:32 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