Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Ist die BDE noch zeitgemäß? (https://www.delphipraxis.net/141746-ist-die-bde-noch-zeitgemaess.html)

Beichtvater 15. Okt 2009 11:08

Datenbank: - • Version: - • Zugriff über: -

Ist die BDE noch zeitgemäß?
 
Hi Folks,
ich sitze gerade an einer Projekt-Überarbeitung, die seinerzeit mithilfe der BDE erstellt wurde.
Dieses (und in Zukunft andere zu überarbeitende Projekte) wurden seinerzeit mithilfe der BDE und Paradox-Datenbanken entwickelt.
Nun stellt sich mir die Frage, ob dies in Zukunft nicht durch ein anderes Format ersetzt werden sollte, oder ob die BDE noch weiterhin an neue Win-Versionen angepasst wird.
Die Datenbankoberfläche ist ja schon mit Problemen behaftet und läuft unter Vista nur noch im Kompatibilitätsmodus. Passiert mir das dann in naher Zukunft auch mit meinen Datenbankprogrammen?

Was würdet ihr empfehlen. Bitte beachtet: Ich bin im Moment noch Anfänger, was Datenbanken angeht, muss mich also eh in neue Techniken rein arbeiten :?
Es geht dabei um Einzelplatz- und auch um Mehrplatz-Anwendungen.
Die momentane Delphiplattform ist Delphi 2007 Prof...

franktron 15. Okt 2009 11:12

Re: Ist die BDE noch zeitgemäß?
 
Such mal hier im Forum nach BDE alle sagen LASS DIE FINGER DAVON

mkinzler 15. Okt 2009 11:13

Re: Ist die BDE noch zeitgemäß?
 
Diese Frage kann mit einem klaren Nein beantwortet werden.
Die BDE ist seit D6 als veraltet delariert (aktuell ist Delphi 14 (eigentlich ja 13)) und wird seither nicht mehr weiterentwickelt.
Zudem wurde sie ursprünglich für ein Novell-Netzwerksystem entwickelt und hat(te) zunehmenst Probleme mit jeder neuen Windows-Version (Sperrverhalten).
Ich würde zum Einsatz eines richtigen DBMS und keiner Desktopdatenbank raten.

DeddyH 15. Okt 2009 11:16

Re: Ist die BDE noch zeitgemäß?
 
Die BDE gilt bereits seit Delphi 6 als veraltet und wird auch nicht mehr weiterentwickelt. Alternativen gibt es allerdings jede Menge, auch kostenfreie. Ich nenne einfach einmal willkürlich MS SQL (Express), Oracle (Express), Firebird, SQLite, ADS und und und...

P.S.: Willkommen in der DP :dp:

schlecki 15. Okt 2009 11:16

Re: Ist die BDE noch zeitgemäß?
 
Zitat:

Zitat von mkinzler
Diese Frage kann mit einem klaren Nein beantwortet werden.
Die BDE ist seit D6 als veraltet delariert (aktuell ist Delphi 14 (eigentlich ja 13)) und wird seither nicht mehr weiterentwickelt.
Zudem wurde sie ursprünglich für ein Novell-Netzwerksystem entwickelt und hat(te) zunehmenst Probleme mit jeder neuen Windows-Version (Sperrverhalten).
Ich würde zum Einsatz eines richtigen DBMS und keiner Desktopdatenbank raten.

Um hier gleich mal eins zu nennen: Firebird. Auch als Embedded Variante oder Server für Einzalplatz-Anwendungen nutzbar!

mkinzler 15. Okt 2009 11:18

Re: Ist die BDE noch zeitgemäß?
 
FireBird wäre auch meine Wahl.

Bernhard Geyer 15. Okt 2009 12:43

Re: Ist die BDE noch zeitgemäß?
 
Zitat:

Zitat von Beichtvater
, oder ob die BDE noch weiterhin an neue Win-Versionen angepasst wird.

Wird sie seit Jahren nicht mehr. W2k dürfte die letzte Version sein die noch halbwegs Anpassungen erfahren hat. Ab XP/W2k3 ist es ein Glückspiel ob es im (Netzwerkbetrieb) mit Paradox/dBase noch funktioniert.

Delphi-Phil 15. Okt 2009 13:38

Re: Ist die BDE noch zeitgemäß?
 
ich habe mal ein projekt mit der bde gemacht, dass ist das letzte was es gibt. lass bloß die finger weg, ständig der index kaputt oder irgendwas anderes...

Die verwaltung dertabellen ist auch grausam....

tsteinmaurer 15. Okt 2009 15:10

Re: Ist die BDE noch zeitgemäß?
 
Hallo,

man muss hier allerdings unterscheiden, um welches Db-Backend es sich hier handelt. Ich kenne ältere Systeme mit der BDE, die mit einem echten C/S-DBMS (MSSQL, InterBase, Firebird), durchaus ihre Dienste zufriedenstellend verrichten. Was anderes ist, wenn man ein file-basiertes Backend (z.B. Paradox ...), dann vielleicht auch noch im Netzwerk verwendet. In diesem Fall, Probleme ohne Ende und Finger weg.

Für neue Entwicklungen macht die BDE natürlich keinen Sinn.

Delphi-Phil 15. Okt 2009 15:20

Re: Ist die BDE noch zeitgemäß?
 
genau ich hatte das zeugs mit einer paradox 7 datenbank und zwei tabellen. man war das ein albtraum!

Bernhard Geyer 15. Okt 2009 15:20

Re: Ist die BDE noch zeitgemäß?
 
Zitat:

Zitat von tsteinmaurer
man muss hier allerdings unterscheiden, um welches Db-Backend es sich hier handelt.

Steht doch oben: Paradox.

Hansa 15. Okt 2009 15:32

Re: Ist die BDE noch zeitgemäß?
 
Zitat:

Zitat von franktron
alle sagen LASS DIE FINGER DAVON

Wollte nur mal noch betonen, dass zu "alle" selbst BorCodero gehört ! Lustig ist in dem Zusammenhang auch, dass sie die BDE trotzdem immer bei ihren Testversionen noch mitliefern. Warum wohl ? Weil sie genau wissen, dass damit schwerlich einer ein verkaufsfähiges Programm nur mit kostenloser Version hinbekommt. :mrgreen:

mkinzler 15. Okt 2009 16:26

Re: Ist die BDE noch zeitgemäß?
 
Zitat:

Ich kenne ältere Systeme mit der BDE, die mit einem echten C/S-DBMS (MSSQL, InterBase, Firebird), durchaus ihre Dienste zufriedenstellend verrichten.
Zuverlässig aber u.U. mit angezogener Bremse und mit beschränkten Featuren.

tsteinmaurer 15. Okt 2009 19:48

Re: Ist die BDE noch zeitgemäß?
 
Markus,

ja, das war mir klar. :-D

mkinzler 15. Okt 2009 19:53

Re: Ist die BDE noch zeitgemäß?
 
Mir war auch klar, dass es dir klar ist; dem TE aber vielleicht nicht

stahli 15. Okt 2009 21:18

Re: Ist die BDE noch zeitgemäß?
 
Hallo Beichtvater,

die Frage ist letztlich, was die DB leisten soll.

Ich habe seit Jahren zwei BDE-Projekte (DBase + Paradox) im Netzwerk laufen und letztlich nahezu ohne Probleme. Vorsichtshalber mache ich regelmäßige Kopien und einmal war ein Index zerschossen.
Also notfalls geht es schon.

Neue Projekte würde ich damit aber nicht mehr aufbauen.

Für eine lokale Einzelplatzanwendung würde ich mir mal "firebird embedded" anschauen. Dafür braucht man keine Datenbanktreiber installieren. Wenn Du Deine Anwendung weiter gibst musst Du lediglich ein paar dll zur exe beilegen.

Die "größere" Version ist dann der "richtige" firebird, also ein im Windows installierter DB-Server. Dann können mehrere Programme gleichzeitig auf eine Datenbank zugreifen (auch im Netzwerk).

Firebird ist eine kostenfreie Datenbanbank, die weitestgehend Interbase (kostenpflichtig) entspricht.

Diese Datenbanken sind allesamt SQL-Datenbanken. Man sollte sich also mit den SQL-Scripts befassen, da man diese für die Benutzung benötigt.
Das ist aber nicht so schwierig, wie es im ersten Moment scheint.


Als Tool für die Verwaltung von Firerbird- und Interbase-Datenbanken kann ich IBExpert (kostenpflichtig!) empfehlen. Das ist so etwas ähnliches wie die frühere Datenbankoberfläche und hilft beim Erstellen und Verwalten von Datenbanken.


Es gibt natürlich noch andere Möglichkeiten. Die von mir genannten sind (denke ich) aber recht üblich für einfache Anwendungen.

Im Forum gibt es viele Beiträge (und noch mehr Meinungen ;-) ) zum Thema "welche Datenbank"...

Stahli

Hansa 16. Okt 2009 00:36

Re: Ist die BDE noch zeitgemäß?
 
Irgendwelche Altprojekte brauchen wohl sowieso die BDE, um die Altdaten da rauszuziehen. Und dann möglichst schnell weg damit. Rest wurde nicht nur in dem Thread hier, sondern schon millionenfach runtergeleiert. Wenn das nicht reicht, dann verwende eben die BDE. :mrgreen:

Zitat:

Zitat von stahli
...Als Tool für die Verwaltung von Firerbird- und Interbase-Datenbanken kann ich IBExpert (kostenpflichtig!) empfehlen...

Wie heißt es in Bayern ? So ein Schmarrn. Was soll er denn verwenden ? Flamerobin oder gar IBConsole ? Was bietet am wenigsten ? :shock: Die (kostenlose !) IBExpert-Personal-Version kann jedenfalls schon wesentlich mehr als der andere Kram, den es so gibt.

mkinzler 16. Okt 2009 06:56

Re: Ist die BDE noch zeitgemäß?
 
Zitat:

Wie heißt es in Bayern ? So ein Schmarrn. Was soll er denn verwenden ? Flamerobin oder gar IBConsole ? Was bietet am wenigsten ? Shocked Die (kostenlose !) IBExpert-Personal-Version kann jedenfalls schon wesentlich mehr als der andere Kram, den es so gibt.
Es gibt sicherlich auch andere gute Tools
z.B. http://www.upscene.com/displaynews.php?item=20090331b

hanspeter 16. Okt 2009 07:27

Re: Ist die BDE noch zeitgemäß?
 
Irgendwie wird man die BDE nicht los.
Die ist noch so tief im System verankert, das sie immer mit im Spiel ist.
Mein Projekt arbeitet ausschließlich mit FB und verwendet IBDAC als Zugriff.
Trotzdem muss ich mit jeder Installation die BDE-bpl mit ausliefern.
Ab D2007 aufwärts scheint der Linker nicht mehr sehr smart zu sein?

Peter

tsteinmaurer 16. Okt 2009 07:38

Re: Ist die BDE noch zeitgemäß?
 
Vermutlich hängt das mit der TDataset Abhängigkeit von IBDAC zusammen. Fällt vermutlich erst dann auf, wenn man RunTime-Bibliotheken verwendet und nicht alles in eine EXE compiliert. In deinem Fall heißt das aber nicht, dass die BDE am Zielrechner installiert sein muss, oder? Wenn ja, dann ist was faul.

hanspeter 16. Okt 2009 07:46

Re: Ist die BDE noch zeitgemäß?
 
Zitat:

Zitat von tsteinmaurer
In deinem Fall heißt das aber nicht, dass die BDE am Zielrechner installiert sein muss, oder? Wenn ja, dann ist was faul.

Ja sobald man die Unit DB verwendet wird die BDE - BPL benötigt.
Ob es auch funktioniert, wenn diese nicht installiert ist, habe ich ehrlich gesagt noch nicht ausprobiert. Kann ich aber
in einer VM mal prüfen.

Peter

tsteinmaurer 16. Okt 2009 07:53

Re: Ist die BDE noch zeitgemäß?
 
Peter,

man muss hier unterscheiden zwischen einer Delphi Bibliothek (bpl) und einer tatsächlich installierten BDE. Ich kenne jetzt IBDAC nicht, aber wenn du z.B. von der BDE nach IBDAC migriert hast, dann könnte es natürlich auch noch sein, dass Units in der uses Klausel verwendet werden, die eigentlich nicht mehr notwendig sind.

hoika 16. Okt 2009 08:12

Re: Ist die BDE noch zeitgemäß?
 
Hallo,

Zitat:

Ja sobald man die Unit DB verwendet wird die BDE - BPL benötigt.
Einspruch ... ;)

Die DB enthält das TDataSet, das ist nicht die BDE.

Ich würde den quellcode mal per (Win)Grep nach alten BDE-Units durchsuchen
(DbiTypes, DbiProcs, DbiErrs, und natürlich DBTables).


Heiko

hanspeter 16. Okt 2009 08:14

Re: Ist die BDE noch zeitgemäß?
 
Zitat:

Zitat von tsteinmaurer
man muss hier unterscheiden zwischen einer Delphi Bibliothek (bpl) und einer tatsächlich installierten BDE. Ich kenne jetzt IBDAC nicht, aber wenn du z.B. von der BDE nach IBDAC migriert hast, dann könnte es natürlich auch noch sein, dass Units in der uses Klausel verwendet werden, die eigentlich nicht mehr notwendig sind.

Ist mir bekannt. Die BDE war nie im Spiel, da das Projekt von Anfang an mit FB arbeitet. (Früher IBObjects)
Die BDE-BPL werden auch von neu programmierten Dll als Laufzeitbibliothek angefordert.
Es ist halt nur etwas nervig, wenn mit jeder Installation im konkreten Fall 137 bpl mit ausgeliefert werden müssen, von denen
etwa die Hälfte überflüssig somd.

Peter

Beichtvater 20. Okt 2009 11:32

Re: Ist die BDE noch zeitgemäß?
 
Danke für die ganzen Antworten.
Da habe ich nun den Salat: Ich habe mich aufgrund eurer Fürsprache für Firebird (embedded) entscheiden und nun raucht mir der Kopf. :gruebel:
Irgendwie ist das ein Wust an Informationen, die da auf mich ein prasseln, dass ich da etwas feststecke. Gibt es denn keine leicht verständliche Anleitung, die einen Newbie wie mir das von Anfang an (incl Erklärung, was ich genau downloaden und in Delphi in den Komponenten installieren muss) erklärt? Oder auch eine Anleitung, wie ich ein Beispiel-Projekt von BDE nach Firebird embedded migriere? Oder auch ein kleines Muster-Projekt, an dem ich nachvollziehen kann, was ich wie in dem Projekt anlege und einstelle?
Wenn ich das richtig verstehe, ist Firebird so etwas wie eine SQL-Engine. Also muss ich erst einmal SQL verstehen. Richtig?
Gibt es da schöne Anleitungen (oder Bücher, die sich speziell mit (SQL?)/ Firebird/Delphi befassen?

Danke und Gruß,
Christian

Phoenix 20. Okt 2009 11:44

Re: Ist die BDE noch zeitgemäß?
 
Hallo Christian,

neue Fragen bitte idealerweise in einem neuen Thread stellen.
Zum einen hast Du dann bessere Chancen auf Antworten, zum anderen macht das den Thread hier sonst unübersichtlich.

Aber vorneweg: Ja, Firebird ist eine SQL Datenbank.
Mit den richtigen Komponenten kommst Du aber dennoch größtenteils um SQL herum.

Beichtvater 20. Okt 2009 11:50

Re: Ist die BDE noch zeitgemäß?
 
Hallo Sebastian

Werde ich machen. Danke schon mal :)

Gruß, Christian

stahli 20. Okt 2009 12:07

Re: Ist die BDE noch zeitgemäß?
 
einen kleinen Tipp noch nachgeschoben...

Installiere erst einmal den normalen FB-Server (Classic). Das ist die einfachere Variante.
Wenn Du das soweit im Griff hast, kannst Du immer noch die FB embedded laden und die DLLs dann mit Deinem Projekt mitgeben. Die DB muss dafür nicht verändert werden.
Mit dem richtigen Server kannst Du nämlich auch aus Delphi und Deiner Anwendung auf die DB zugreifen. Wenn Du nur FB embedded hättest, müsstest Du immer erst die aktuelle Verbindung beenden.

Falls Du ein Buch über Delphi+Interbase hast kannst Du das nahezu 1:1 auf FB übernehmen.

Stahli


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:41 Uhr.

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