AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Paradox-Datenbank-Probleme

Ein Thema von OrgFreak · begonnen am 5. Nov 2012 · letzter Beitrag vom 30. Nov 2012
Antwort Antwort
Seite 1 von 3  1 23      
OrgFreak

Registriert seit: 1. Sep 2011
60 Beiträge
 
Turbo Delphi für Win32
 
#1

Paradox-Datenbank-Probleme

  Alt 5. Nov 2012, 23:18
Datenbank: Paradox • Version: 7.0 • Zugriff über: BDE
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
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: Paradox-Datenbank-Probleme

  Alt 5. Nov 2012, 23:26
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.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#3

AW: Paradox-Datenbank-Probleme

  Alt 5. Nov 2012, 23:31
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?
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
OrgFreak

Registriert seit: 1. Sep 2011
60 Beiträge
 
Turbo Delphi für Win32
 
#4

AW: Paradox-Datenbank-Probleme

  Alt 5. Nov 2012, 23:41
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
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#5

AW: Paradox-Datenbank-Probleme

  Alt 6. Nov 2012, 00:06
Was heisst BDE nicht existent?
Damit ist gemeint, daß man die BDE nicht mehr verwenden sollte, weil sie schon seit vielen Jahren veraltet ist.

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.

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?

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?

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.

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.

Danke für Eure Bemerkungen und Kommentare.
Bist du irgendwie verärgert?
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#6

AW: Paradox-Datenbank-Probleme

  Alt 6. Nov 2012, 00:10
Ä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.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)

Geändert von Sir Rufo ( 6. Nov 2012 um 00:15 Uhr)
  Mit Zitat antworten Zitat
OrgFreak

Registriert seit: 1. Sep 2011
60 Beiträge
 
Turbo Delphi für Win32
 
#7

AW: Paradox-Datenbank-Probleme

  Alt 6. Nov 2012, 00:50
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

Geändert von OrgFreak ( 6. Nov 2012 um 01:03 Uhr)
  Mit Zitat antworten Zitat
QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
1.944 Beiträge
 
Delphi 12 Athens
 
#8

AW: Paradox-Datenbank-Probleme

  Alt 6. Nov 2012, 00:56
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.
Andreas
Monads? Wtf are Monads?
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#9

AW: Paradox-Datenbank-Probleme

  Alt 6. Nov 2012, 00:57
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;
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#10

AW: Paradox-Datenbank-Probleme

  Alt 6. Nov 2012, 01:00
@QuickAndDirty

ich nehme an, daß ein angenehmer Nebeneffekt dabei war aus 2.000.000 letztlich 200.000 nachvollziehbare Zeilen zu machen.
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 06:22 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