Hallo,
Ich schreibe gerade an einer TDataset komponente die als Fassade für eine per
DLL oder
BPL zur verfügunggestellten
Datenbank dienen soll. Ich kann nur sagen es ist viel arbeit, und wir nehmen die auf uns um die
BDE loszuwerden ohne
die ganzen mit der oberfläche verbundenen TTable objekte der
BDE Los zuwerden ohne Alle Formulare neue zu bauen, und
alle Ereignisse neu zu programmieren...
Die
BDE kann zum beispiel folgende probleme machen
-Ab einer geweissen Datenmenge kann es sein das ein Range leer zurrück geliefert wird.
Wenn man aber einen z.b. Maxint wert datensatz und einen MinInt Datesatz in dem Index anlegt geht er wieder. Wieso?
Das ließe sich auch mit diesem DUtil beheben aber dann ist es irgendwann wieder drinn.
-die Datenbank ist in der Default Installation auf gaaanz kleine Rechner ausgelegt. man muss alle werte in der System.init ändern...
-Es kann passieren das die BLOB datei kaputt geht, man muss die dann Löschen!!!
-Wenn man eine MS-
SQL-Tabelle über
BDE öffnet hohlt der die gesammte Datenmenge!!!! und das obwohl mannoch garnicht gelesen hat...wir musten ein Dataset Schrieben was immer erst bei Einem Lesenden Oder schreibenden Zugriff die tätig wurde.
-Wenn du ein
Query absetzt wird der Inhalt der Ergebnissmenge vollständig in einer Datei auf dem Rechner gecached...
was soll das?
-Es ist ein riesen Rechte gehampel, man muss per
UNC-PFad auf Freigaben auf einem Server zugreifen und die Administratoren LÜGEN einen an wenn man sie fragt ob wirklich vollzugriff für Jeder eingerichtet wurde...man testet es und... schwups... kann keine Dateien anlegen. Dann heist es immer "moment". Und ich hasse das das die sich für ihre Lügen nicht mal entschuldigen und das ist immer bei jeder Firma ab einer gewissen Größe so gewesen.
-Virenscanner mögen die
BDE nicht...im schlimmsten fall kommt es vor das ein Virenscanner am client jeden zugriff scannt und ausbremst und zusätzlich auch noch der am Server. Und es gibt admins die noch nie einen Ordner vom Scann ausgenommen haben...ein riesen mist.(Immer
UNC-Pfad, Netzwerklaufwerk und lokalen Pfad vom Scann ausschließen)
-Wenn man vergessen hat im MS-
SQL-Server "Autocreate Statistics" abzuschalten erzeugt der für nahezu jede jemals gestellte anfrage eine eigenen Schlüssel.... das ist schon sau dumm ....aber die
BDE hat scheint irgendwie nur 12-16 Schlüssel pro Tabelle zu unterstützen...sie liefert dann aber nicht etwa einen Fehler...nein es scheint so zu sein als würden die ganzen Schlüssel in den Speicherbereich der anderen Tabellen ragen und diese liefern dan komische Ergebnisse.
-0x6BDE000 <- warum?
-Zur
BDE gibt es den Quellcode nicht(das währe wohl auch peinlich geworden)
-Da die
BDE File basiert ist, hat sie die selben Probleme wie Jet was das Betriebsystem angeht.
Windows stellt einfach von haus aus keine echten Multiuser Freigaben zur verfügung. Stichwort (Opportunistic Locking)
Es kann bei zunehmender anzahl von Usern also immer wahrscheinlicher zu einer Zerstörung der Datei kommen.
-Die
BDE macht in Diensten keinen Spass da immer
UNC-Pfade und Freigaben verwendet werden müssen.(Netzwerklaufwerke gibt es nicht ohne Desktop)
Ansonnsten muss ich sagen das auch wenn ich es hier zum Teil anders vernehme die
BDE mit
Paradox sau schnell ist, wenn der Virenscanner vorher eingestellt wurde...
Insbesondere der Range Zugriffe ist aber auch irgendwie logisch schließlich hängt kein lahmer
SQL Parser dazwischen.