Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi (Access-)Datenbank-Zugriff ohne Engine (https://www.delphipraxis.net/41021-access-datenbank-zugriff-ohne-engine.html)

Marphy 24. Feb 2005 17:25

Datenbank: vielleicht Access? • Version: ?? • Zugriff über: vielleicht DAO?

(Access-)Datenbank-Zugriff ohne Engine
 
Hallo zusammen,
ich bin vor einigen Monaten von Visual Basic auf Delphi gewechselt (die Gründe könnt ihr euch sicher denken ;-) ), bin also ziemlich neu in der Delphi-Welt und mit Datenbanken habe ich auch noch nicht sonderlich viel gemacht.
Nun aber zum Thema:

Mein Programm soll auf eine Datenbank zugreifen, die in einer Datei mehrere Tabellen bündelt. Dazu bietet sich die Access-Datenbank eigentlich an? Nun soll das ganze auch möglichst ohne Engine laufen (sonst wird das Setup zu groß). Mit DAO soll das funktionieren, ist aber recht unkomfortabel.

Wisst ihr weiter? :stupid:

Danke für eure Hilfe schon im Voraus,
Marco

shmia 24. Feb 2005 17:45

Re: (Access-)Datenbank-Zugriff ohne Engine
 
Zitat:

Zitat von Marphy
Mein Programm soll auf eine Datenbank zugreifen, die in einer Datei mehrere Tabellen bündelt. Dazu bietet sich die Access-Datenbank eigentlich an? Nun soll das ganze auch möglichst ohne Engine laufen (sonst wird das Setup zu groß). Mit DAO soll das funktionieren, ist aber recht unkomfortabel

Ohne die Jet-Engine ist sinnvoller kein Zugriff auf Access Datenbanken möglich.
Ein grosser Prozentsatz an Windows-Rechnern hat die Jet-Engine schon installiert.
Ansonsten kann jeder sich die Jet-Engine aus dem Internet kostenlos downloaden.
http://support.microsoft.com/default...b;en-us;829558

Als ehemaliger VB-Programmierer würde ich am Anfang mit Access und ADO Komponenten anfangen und später auf andere Datenbanken wechseln.

Marphy 24. Feb 2005 18:13

Re: (Access-)Datenbank-Zugriff ohne Engine
 
Hallo,

Zitat:

Zitat von shmia
Als ehemaliger VB-Programmierer würde ich am Anfang mit Access und ADO Komponenten anfangen und später auf andere Datenbanken wechseln.

Hmm, warum auf andere Datenbanken wechseln? Ist Access keine prof. Lösung? Zu lasche Performance?

Ach ja, ich will den Datenbankzugriff möglichst im Hintergrund laufen lassen (d.h. der User soll nicht direkt auf die DB z.B. mit einem DBGrid zugreifen können). Deshalb wäre ein Zugriff, welcher klassen- und nicht komponentengestützt läuft, wohl am Besten. :warn:

Gruß, Marco

shmia 24. Feb 2005 18:33

Re: (Access-)Datenbank-Zugriff ohne Engine
 
Zitat:

Zitat von Marphy
Hmm, warum auf andere Datenbanken wechseln? Ist Access keine prof. Lösung? Zu lasche Performance?

Na, ja, Access ist eine reine Desktop-Datenbank.
Mehrplatzzugriff kann problematisch werden. Wenn die Access-DB über ~ 150MB anwächst bricht die Performance über ein 10MBit Netzwerk stark ein.
Zitat:

Zitat von Marphy
Ach ja, ich will den Datenbankzugriff möglichst im Hintergrund laufen lassen (d.h. der User soll nicht direkt auf die DB z.B. mit einem DBGrid zugreifen können). Deshalb wäre ein Zugriff, welcher klassen- und nicht komponentengestützt läuft, wohl am Besten. :warn:

Das bedeutet aber nur den Verzicht auf datensensitive Controls (die beginnen alle mit TDB und liegen auf der Seite "Datensteuerung").
Der Datenbankzugriff über (ADO)-Komponenten ist trotzdem sehr sinnvoll, da er viel Arbeit spart.

Bernhard Geyer 24. Feb 2005 18:45

Re: (Access-)Datenbank-Zugriff ohne Engine
 
Zitat:

Zitat von Marphy
Mein Programm soll auf eine Datenbank zugreifen, die in einer Datei mehrere Tabellen bündelt. Dazu bietet sich die Access-Datenbank eigentlich an? Nun soll das ganze auch möglichst ohne Engine laufen (sonst wird das Setup zu groß). Mit DAO soll das funktionieren, ist aber recht unkomfortabel.

Für eine leicht zu verteilende und kleine DB-Engin würde ich dir ADS Local Server empfehlen.

Auch wenn die JET-Engine auf den meisten Rechnern schon vorliegt, spricht doch einiges dagegen:
- Möglichkeit der DLL-Hölle (Ist wirklich immer die passende Jet/MDAC/ADO-Version installiert?)
- Wird von M$ nicht mehr weiterentwickelt und könnte schon mit der nächsten Windows-Version nicht mehr defaultmäßig installiert sein

Phoenix 24. Feb 2005 19:04

Re: (Access-)Datenbank-Zugriff ohne Engine
 
Zitat:

Zitat von Bernhard Geyer
- Wird von M$ nicht mehr weiterentwickelt und könnte schon mit der nächsten Windows-Version nicht mehr defaultmäßig installiert sein

Access soll ab der nächsten Office-Version auch kein Frontend für JET sein, sondern direkt für den SQL Server 2005 Express Edition, der diesen Sommer herauskommen soll.

Marphy 24. Feb 2005 19:08

Re: (Access-)Datenbank-Zugriff ohne Engine
 
Hallo,
Zitat:

Zitat von Bernhard Geyer
Für eine leicht zu verteilende und kleine DB-Engin würde ich dir ADS Local Server empfehlen.

Da mein Programm Freeware ist, kommt eine kostenpflichtige Lösung nicht in Frage...

Hmm, wenn wir nun mal die Voraussetzung "keine DB-Engine" weglassen würden, was würdet ihr dann empfehlen?

Voraussetungen:
  • Mehrere Tabellen und große Datenmengen (> 1 GB) sollen (ggf. komprimiert) in einer einzigen Datei zusammengefasst werden.
  • Hohe Performance (> 50.000 Einträge).
  • Möglichst BS-unabhängig (d.h. sollte von Win 95 über Win NT bis hin zu Win XP laufen können).
  • DB ist lokal (d.h. keine komplizierten Netzwerkzugriffe, die DB wird quasi "nur" als "Datenfile" benutzt).
  • Das ganze System sollte möglichst schlank sein!

Vielen Dank für eure bisherigen und zukünftigen Antowrten!

Gruß, Marco :gruebel:

Bernhard Geyer 24. Feb 2005 21:11

Re: (Access-)Datenbank-Zugriff ohne Engine
 
Zitat:

Zitat von Marphy
Da mein Programm Freeware ist, kommt eine kostenpflichtige Lösung nicht in Frage..

ADS Local Server ist kostenlos. Der "richtige" ADS Server kostet geld

- Große Datenmenge geht. Haben schon Daten mit 4 GB im Einsatz. Bei NTFS sind Tabellengrößen >> 4 GB möglich
- Einzel-Datei ist nicht möglich (aber ein Verzeichnis ist ja nicht so schlimm)
- Performance sehr gut
- Läuft von Win95-2003
- Läuft als Desktop-Datenbank
- ist mit (aktuell) ca. 2 MB für 2 DLL's und 2 (oder warens 3) Konfigurationsdateien sehr schlank

urs.liska 24. Feb 2005 21:59

Re: (Access-)Datenbank-Zugriff ohne Engine
 
Und natürlich auch mal wieder Firebird
Firebird-Homepage.
Sehr gut skalierbar, vom kleinsten Einzelplatzprojekt bis zum großen Firmennetzwerk (z.B. läuft die gesamte Infrastruktur der Deutschen PresseAgentur damit).
Als Embedded Server läuft er mit Minimalinstallation (nur eine DLL und ein paar Konfigurationsdateien, kein Registry-Eingriff).
OpenSource, also kostenlos.
Es gibt OpenSource-Zugriffskomponenten für Delphi (z.B. UIB, ZEOS), also auch das kostenlos. Die greifen direkt auf die Firebird-API zu, also kein Bedarf für BDE, ODBC oder sonstige Zwischenschichten.
Läuft neben den div. Windows-Versionen auch unter Linux.

MfG
Urs

Marphy 25. Feb 2005 15:20

Re: (Access-)Datenbank-Zugriff ohne Engine
 
Hallo Bernhard, hallo Urs,

Zitat:

Zitat von Bernhard Geyer
ADS Local Server ist kostenlos. Der "richtige" ADS Server kostet geld

Wirklich? Dann habe ich wohl den Download-Link übersehen...

Zitat:

Zitat von Bernhard Geyer
- Einzel-Datei ist nicht möglich (aber ein Verzeichnis ist ja nicht so schlimm)

Nun, eine Einzeldatei wäre schon am Besten, aber zur Not tut's auch ein Verzeichnis.

Zitat:

Zitat von Bernhard Geyer
- ist mit (aktuell) ca. 2 MB für 2 DLL's und 2 (oder warens 3) Konfigurationsdateien sehr schlank

Gut, das ist vertretbar. Aber wie läuft das mit der Lizenz ab? Kann man die Programm-Files im eigenen Setup weitergeben?

Ach ja: Wie wird eigentlich von Delphi aus auf die Datenbank zugegriffen?

Zitat:

Zitat von urs.liska
Und natürlich auch mal wieder Firebird

Klingt gut. Können bei diesem DB-System access-ähnlich mehrere Tabellen zu einer Datei zusammengefasst werden?

Vielen Dank für eure Geduld und Bemühungen,
Marco :zwinker:


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:45 Uhr.
Seite 1 von 2  1 2      

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