Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Paradox-Datenbank-Probleme (https://www.delphipraxis.net/171412-paradox-datenbank-probleme.html)

OrgFreak 5. Nov 2012 22:18

Datenbank: Paradox • Version: 7.0 • Zugriff über: BDE

Paradox-Datenbank-Probleme
 
Hallo zusammen

Hab eine Frage:

Wie gross muss man die Grafik - Felder planen, wenn man eine neue Datenbank erstellen will, die funktioniert und die nicht unter- bzw. überdimensioniert werden soll. D.h. die MegaBytes steigen an, wenn man die Grafik-Felder vom Typ BLOB zu gross wählt. Bei 2.2 GigaByte ist sense. Je nach Datenbank 1000-2000 Datensätze.

Also:
Die Frage zu den Blob-Feldern beim Strukturieren: Grösse : 0-240 ?
Was soll man da wählen ?
Danke für die Antworten

Gruss

OrgFreak

Sir Rufo 5. Nov 2012 22:26

AW: Paradox-Datenbank-Probleme
 
Wenn man eine neue Struktur plant, dann sollte man die BDE als nicht existent betrachten.
Die BDE ist schon in grauer Vorzeit abgekündigt worden. Wenn da jetzt noch was läuft, dann ist das Glückssache.

Wenn man so richtig viele und große Bilder speichern will, dann sucht man sich eine Datenbank die das verkraftet oder man speichert die Bilder direkt auf der Platte und in der Datenbank nur eine Referenz darauf.

Bummi 5. Nov 2012 22:31

AW: Paradox-Datenbank-Probleme
 
Ich muss gestehen meine Paradoxkenntnisse sind eingerostet, eine Antwort habe ich nicht auf die schnelle, ich muss bisweilen noch Uraltprojekte portieren und habe da meine liebe Not mit den ständig korrupten Tabellen. Aber ein paar Fragen hätte ich.
Muss es Paradox sein, gerade im Zusammenhang mit Blobs steht hier der kommende Ärger eigentlich schon fest. Wenn ja, müssen die Bilder in der Datenbank vorliegen oder besteht die Möglichkeit Links auf Dateien zu verwenden?

OrgFreak 5. Nov 2012 22:41

AW: Paradox-Datenbank-Probleme
 
An alle:

Was heisst BDE nicht existent ?

Wenn man ein Projekt mit einer Datenbank beginnt und Datensätze (komplexe)
aufbaut, dann will man das Projekt zu Ende bringen und nicht bei jedem
kleinsten Problemchen dann umsteigen auf eine andere Datenbank, wo das Problem dann wieder von neuem auftaucht.
Ich kann die Datensätze nicht in eine andere Datenbank so einfach transferieren (aus Erfahrung). Vor allem die Grafik-Felder nicht !
Also was ist die Alternative zur BDE ?
BDE hat den Vorteil, dass man sehr schnell eine Datenbank generieren kann mit der Datenbankoberfläche.

Danke für Eure Bemerkungen und Kommentare.

Gruss

OrgFreak

Perlsau 5. Nov 2012 23:06

AW: Paradox-Datenbank-Probleme
 
Zitat:

Zitat von OrgFreak (Beitrag 1189878)
Was heisst BDE nicht existent?

Damit ist gemeint, daß man die BDE nicht mehr verwenden sollte, weil sie schon seit vielen Jahren veraltet ist.

Zitat:

Zitat von OrgFreak (Beitrag 1189878)
Wenn man ein Projekt mit einer Datenbank beginnt und Datensätze (komplexe)
aufbaut, dann will man das Projekt zu Ende bringen und nicht bei jedem
kleinsten Problemchen dann umsteigen auf eine andere Datenbank, wo das Problem dann wieder von neuem auftaucht.

Das Problem, daß die Größe von Datenbankfeldern, die Bitmaps aufnehmen sollen, zuvor festgelegt werden muß, kenne ich von den Datenbanken, die ich verwende (Firebired, MySQL), nicht. Das könnte bedeuten, daß du durchaus gewisse Probleme nicht mehr hast, wenn du auf ein modernes Datenbanksystem umsteigst.

Zitat:

Zitat von OrgFreak (Beitrag 1189878)
Ich kann die Datensätze nicht in eine andere Datenbank so einfach transferieren (aus Erfahrung).

Bislang hatte ich noch nie Probleme damit, Datensätze in eine Datenbank anderen Typs zu übertragen. Welche Probleme hast du denn damit?

Zitat:

Zitat von OrgFreak (Beitrag 1189878)
Vor allem die Grafik-Felder nicht!

Was ist denn an Datenfeldern, die Bitmaps aufnehmen können, so anders, daß dir die Übertragung in eine andere Datenbank nicht gelingt?

Zitat:

Zitat von OrgFreak (Beitrag 1189878)
Also was ist die Alternative zur BDE?

Die Alternative gibt es nicht. Es gibt aber zahlreiche Alternativen, deren Auswahl davon abhängt, was du damit machen möchtest.

Zitat:

Zitat von OrgFreak (Beitrag 1189878)
BDE hat den Vorteil, dass man sehr schnell eine Datenbank generieren kann mit der Datenbankoberfläche.

Dieser scheinbare Vorteil wird durch die zahlreichen Nachteile der BDE mehr als ausgeglichen. Übrigens gibt es für so gut wie alle kostenlosen Datenbanken auch kostenlose Tools zum Erstellen von neuen Datenbanken, Tabellen und Feldern. Ich benutze für Firebird z.B. den IBexpert, der in der Personalversion vollkommen ausreicht für kleine Anwendungen und nichts kostet.

Zitat:

Zitat von OrgFreak (Beitrag 1189878)
Danke für Eure Bemerkungen und Kommentare.

Bist du irgendwie verärgert?

Sir Rufo 5. Nov 2012 23:10

AW: Paradox-Datenbank-Probleme
 
Ähm, sagtest du nicht etwas von "eine neue Datenbank"?

Eine Datenbank besteht per Definition aus mehreren Tabellen. Wenn du jetzt von Datenbank sprichst, aber Tabelle meinst, wen willst du denn jetzt für die Antworten hier anpupen?

Dann stell die Frage richtig und du bekommst auch Antworten, die zu der Frage passen.
Hier findest du leider idR mehr Programmierer als Hellseher.

OrgFreak 5. Nov 2012 23:50

AW: Paradox-Datenbank-Probleme
 
Also zuerst: Vielen dank für die vielen gut gemeinten Antworten.

1. Zum Transfer von "meinen" Datenbankfeldern in andere Systeme.

Ich hab keine Ahnung wie das gehen soll. Ich hab in der Tabelle
(Datenbank, die keine relationale Datenbank) ist, Grafik - Felder
als auch normale alphanumerische Felder, Logische Felder, Integer
und Memo.
Der Transfer klappt zum Beispiel schon mal nicht, wenn ich FileMaker
nehme oder sonst so eine bekannte Datenbank.
Also steh ich nun an:
Nochmals von vorn alles beginnen, vergesse meine 3000 mühsam aufgebaute
Datensätze mit Einbettung in ein Delphi-Programm.


Wer hat denn ein Tool, mit dem ich meine Felder transferieren kann ?
Also einfach ist das ja nicht ohne Probleme.

Ich kann auch nicht einfach eine andere Batterie in mein Auto einbauen
und dann annehmen, dass das Auto läuft.

Zum Vorschlag:
Man speichert die Bilder auf der Festplatte und mit Referenz darauf:
Das kann ja heiter werden, bei den vielen Grafik-Bildern mit variabler Grösse. Ich wollte bei den vielen Grafik-Feldern nur die 10 interessantesten nehmen, nicht die Gesamtmenge an verfügbaren Bildern.
Dann hat man nur ein Inhaltsverzeichnis aber kein Programm mehr.
Und die GigaBytes wachsen dann auch in den Himmel, wie zuerst bei meiner
ersten Version, die bei 1600 Datensätzen den Geist aufgegeben hat.

Gruss

OrgFreak

QuickAndDirty 5. Nov 2012 23:56

AW: Paradox-Datenbank-Probleme
 
Uns hat es etwa ein Jahr gekostet ein 2.000.000 Codezeilen Projekt von BDE/Paradox auf Anydac/Firebird|MSSQL umzustellen (die haben dank uns und noch einer anderen Deutschen Firma mittlerweile einen vollwertigen TTable Ersatz(sprich einer der nicht mit Table.OPEN die komplette Tabelle lädt) )
Wir haben wirklich jeden schmutzigen BDE-Trick benutzt.

Es hat sich sowas von gelohnt den BDE Ärger nicht mehr zu haben.


Ich Kann dir mit dem Image Problem nur sagen. Unsere Images gingen regelmäßig verloren weil die *.MB Dateien Kaputt gingen. Die hat man dann gelöscht und ein Rebuild der Tabelle gemacht. Desweiteren muss man nicht nur die Größe der Blobs festlegen sondern auch die den Maximale anzahl die gecached wird. Denn ist die zu klein hagelt es Fehler sobald man auf ein BLOB zugreift das nicht im Cache liegt. Wir haben das immer direkt auf 30000 Datensätze gesetzt. :(
Das landet dann in den Temporären Dateien die jedes Query erzeugt....und nicht abräumt, wenn die Anwendung abstürzt. Admins ist das egal wie lahm ihr Dateizugriff ist...Hauptsache mit Word abspeichern dauert unter 10 Sekunden.

Aus genannten Gründen und da man eh auf Freigaben mit Paradox angewiesen ist würde ich in der DB einfach String Felder mit den Pfaden zu den Bild Dateien speichern. Und möglichst schnell alle Resourcen auf das portieren der Anwendung weg von der BDE verwenden.
Mir ist klar das man das nicht als Feature verkaufen kann "keine BDE statt dessen Firebird/MSSQL/MariaDB/PostgresSQL". Aber wenn man das nicht macht ist man bald nicht mehr da.
Rechenzentren z.B. Weigern sich Anwendungen mit BDE/Paradox zu installieren weil sie sich mit allen anwendungen absteimmen müssen um keien Konflikte zu bekommen (netdir) . Etliche Admins lachen wenn man denen heute ne BDE Anwednung verkaufen will. Sei sie noch so vielseitig und ausgereift. Das Problem ist einfach das seit es Novel nicht mehr als Betriebssystem gibt Paradox nur instabil (aber arsch schnell) betrieben werden kann.(Stichwort Oportunistic locking :( )
Dazu kommt das Paradox Anwendungen meistens Fatclients sind und Windows Rechner Multiuser zugriff auf Dateien einfach nicht sicher hinbekommen.

Bummi 5. Nov 2012 23:57

AW: Paradox-Datenbank-Probleme
 
Die frage wäre was Du ansprechen kannst, wenn Du ADO hättest käme Access oder SQLExpress in Frage, hierfür hätte ich Dir SQL's die die Tabellen strukturell erstellen, gegf. auch per Linkeserver importieren.
Bei Anderen Datenbanken wirst Du dir die Struktur nachbauen 2 Verbindungen Alt/Neu einrichten und einmal umziehen, z.B. so ....

Delphi-Quellcode:
var
 i:Integer;
begin
   while not Src.eof do
      begin
        Dest.append;
        for i := 0 to src.FieldCount - 1 do
            dest.fieldByName(src.Fields[i].Fieldname).assign(Src.Fields[i]);
        Dest.post;
        Src.Next;
      end;


end;

Bummi 6. Nov 2012 00:00

AW: Paradox-Datenbank-Probleme
 
@QuickAndDirty

ich nehme an, daß ein angenehmer Nebeneffekt dabei war aus 2.000.000 letztlich 200.000 nachvollziehbare Zeilen zu machen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:52 Uhr.
Seite 1 von 3  1 23      

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