AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Warum nicht BDE?

Ein Thema von Jonas · begonnen am 11. Nov 2008 · letzter Beitrag vom 12. Nov 2008
Antwort Antwort
Seite 1 von 3  1 23   
Jonas

Registriert seit: 6. Feb 2005
266 Beiträge
 
Delphi 2007 Professional
 
#1

Warum nicht BDE?

  Alt 11. Nov 2008, 00:34
Datenbank: Access • Version: 2003 • Zugriff über: BDE
Hallo. Wie man hier immer wieder lesen kann ist BDE ja 'outdatet', aber warum genau?
Welche Probleme kann man mit BDE bekommen und warum sollte man es vermeiden?

Ich für meinen Teil benutze BDE für ein Datenbankprojekt nun schon seit knapp einem Jahr und kam bisher damit super klar und hatte nie irgendwelche Probleme oderso. Da ich zur Zeit aber an einem Firmenprojekt arbeite wollte ich mich nochmal genaustens über die Probleme von BDE aufklären.

LG
  Mit Zitat antworten Zitat
Fridolin Walther

Registriert seit: 11. Mai 2008
Ort: Kühlungsborn
446 Beiträge
 
Delphi 2009 Professional
 
#2

Re: Warum nicht BDE?

  Alt 11. Nov 2008, 00:55
1. BDE ist groß und muss mit ausgeliefert werden. Dabei kommen sich unterschiedliche Versionen von BDE durchaus gerne mal ins Gehege. Wenn Anwendung A also BDE Version X installiert und Anwendung B die BDE Version Y sind Kopfschmerzen vorprogrammiert.

2. Die zu Grunde liegende Architektur der BDE ist stark auf Paradox und dBASE ausgelegt. Ob das ein echter Nachteil ist, ist sicherlich Ansichtssache. Ich fands nie sonderlich angenehm.

3. BLOBs sind ein echtes Problem für viele der BDE Provider.

4. BDE ist ein Layer. Layer verursachen immer Performanceverlust durch unnötigen Overhead. Besonders schlim wirds, wenn sich die Layer übereinander stapeln. Also Du BDE nutzt um auf ODBC zuzugreifen.

5. Auf Grund der Tatsache das BDE ein Layer ist, einigt man sich bei den Funktionen meist auf den kleinsten gemeinsamen Nenner der verwendeten Provider. Das bedeutet, das Features die das Datenbankbackend besitzt, über die BDE nicht nutzbar sind.

6. Die BDE Provider haben teilweise Probleme. Der MS SQL Provider hatte bei mir regelmäßig Probleme wenn es darum ging mehrere Querys parallel durchzuführen, z.B..
Fridolin Walther
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.859 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: Warum nicht BDE?

  Alt 11. Nov 2008, 06:35
Zudem wurde die BDE mit Erscheinen von D6 abgemeldet und wird nicht mehr weiterentwickelt. Sie hat zusehens auch Probleme mit neueren Betriebssystemen
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.640 Beiträge
 
#4

Re: Warum nicht BDE?

  Alt 11. Nov 2008, 08:11
Die BDE ist 6 Jahre alt und wird seit 6 Jahren nicht mehr weiter entwickelt. Auch Bugfixes gibt es schon seit Jahren nicht mehr.
Zum Beispiel schneidet die BDE ein SQL-Statement nach genau 32k Zeichen ab. Okay, ein 32-k Statement sollte man eigentlich nicht auf eine Datenbank loslassen, aber wenn man halt mal muss, dann geht das mit der BDE nicht. Und das ist nur einer von relativ vielen, bekannten aber weiterhin unkorrigierten Bugs.

Heute auf die BDE zu setzen ist genauso, wie heute noch mit Foxpro eine neue Applikation zu bauen.
Es gibt DbExpress als Nachfolger, und den sollte man am besten auch verwenden.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.198 Beiträge
 
Delphi 10.4 Sydney
 
#5

Re: Warum nicht BDE?

  Alt 11. Nov 2008, 08:16
Bei der BDE müsstest du beim Zugriff auf MS Access die DAO-Komponenten mitliefern (ok, du kannst noch einen größeren Umweg über ODBC machen) welche du nur mitliefernt darfst wenn mindestens ein Programm mit einer MS-IDE erstellt wurde.

Ach ja. Eigentlich sollte mit D2009 gar keine BDE mehr mitgeliefert werden. Ich hoffe aber das mit 64-Bit Delphi/C++-Builder entgültig die BDE gestorben ist.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#6

Re: Warum nicht BDE?

  Alt 11. Nov 2008, 13:33
Hallo,

und neben dem schon gesagtem.

Paradox, DBase (Access) sind File-Datenbanken.
Man benötigt ein Netzlaufwerk (zum Server).
Wenn beim Schreiben mal das Netz kurz weg ist -> Datenverlust.

Ausserdem werden keine Transaktionen unterstützt (cached updates zählt nicht)

Zu Paradox:
mal "index out of date", "blob has been modified" in Google eintippen.


Heiko
Heiko
  Mit Zitat antworten Zitat
exilant

Registriert seit: 28. Jul 2006
134 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: Warum nicht BDE?

  Alt 11. Nov 2008, 13:42
Zitat von hoika:
Ausserdem werden keine Transaktionen unterstützt (cached updates zählt nicht)
Diese Aussage ist definitiv falsch. Es werden lediglich keine verschachtelten Transaktionen
unterstützt. Mittels SQLLinks ist eine "Starttransacion / Try commit / except rollback" Sequenz kein Problem.
Natürlich nur bei "echten Datenbanken". Bei diesen übernimmt die BDE im Normalfall halt die
Transaktionssteuerung für den Entwickler (Stichwort autocommit). Aber man kann eingreifen.
Anything, carried to the extreme, becomes insanity. (Exilant)
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.859 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: Warum nicht BDE?

  Alt 11. Nov 2008, 13:45
Er hat von den "nativen" BDE-Datenbanken dBase und Paradox gesprochen. Für richtige Datenbanken ist die BDE erst recht nicht zu gebrauchen.
Die Frage sollte eigentlich: "Warum die BDE?" heissen. (dann wäre die Beantwortung kurz)
Markus Kinzler
  Mit Zitat antworten Zitat
exilant

Registriert seit: 28. Jul 2006
134 Beiträge
 
Delphi 11 Alexandria
 
#9

Re: Warum nicht BDE?

  Alt 11. Nov 2008, 13:54
Zitat von mkinzler:
Für richtige Datenbanken ist die BDE erst recht nicht zu gebrauchen.
So? Ich nehme an Du hast da Deine Erfahrungen. Ich kann nur sagen das hier und bei anderen Kunden des Anbieters noch ettliche BDE/SQLLinks Anwendungen mit Sybase und Interbase/Firebird als Backend im 24/7 Betrieb laufen. Und das seit vielen Jahren ohne Probleme. Neue Anwendungen sollten natürlich nicht mit der BDE entwickelt werden, aber das die BDE für C/S DB Anwendungen unbrauchbar wäre ist schlichtweg nicht wahr. Die Praxis beweist das Gegenteil.
Anything, carried to the extreme, becomes insanity. (Exilant)
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.859 Beiträge
 
Delphi 11 Alexandria
 
#10

Re: Warum nicht BDE?

  Alt 11. Nov 2008, 13:56
Vergleiche dann mal die Performance mit Lösungen ohne die BDE. Die Stabilität wird in diesem Fall ja von den DBMS-Servern gewährleistet. Zudem limitiert die BDE die Fähigkeiten der DBMS.
Markus Kinzler
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 16:30 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