AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Kann keine Datensätze mehr zu Paradox-DB hinzufügen
Thema durchsuchen
Ansicht
Themen-Optionen

Kann keine Datensätze mehr zu Paradox-DB hinzufügen

Ein Thema von LeisureSuitLarry · begonnen am 1. Apr 2006 · letzter Beitrag vom 3. Apr 2006
Antwort Antwort
LeisureSuitLarry

Registriert seit: 8. Dez 2005
Ort: Unterschleißheim
90 Beiträge
 
Delphi 2010 Professional
 
#1

Kann keine Datensätze mehr zu Paradox-DB hinzufügen

  Alt 1. Apr 2006, 10:31
Datenbank: Paradox • Version: 10 • Zugriff über: BDE
Hallo beisammen,

bei einem älteren Projekt in Delphi 5 (eine Adressverwaltung) habe ich folgendes Problem:
Zu den schon vorhandenen ca. 125.000 Datensätzen wurden einmal 60.000 und dann nochmal 140.000 Sätze hinzugefügt. Funktionierte prima. Nun sollten nochmal 65.000 dazu und ich erhalte nach ein paar Datensätzen die Meldung, dass zur Datenbank nichts mehr hinzugefügt werden kann.

Also habe ich mit Paradox einen rebuild der Datenbank gemacht. Danach lassen sich ein paar hundert Sätze hinzufügen, danach das gleiche Spiel.

Kennt jemand das Problem und noch besser, eine Lösung dazu?

Das Projekt soll demnächst auf BDE2006 und dann auch auf ein anderes DB-System umgestellt werden, bis dahin sollte es aber noch irgendwie laufen

Die Fakten:
Datenbankgröße 131 MB, 327.351 Datensätze, Satzlänge 388 Byte, 6 Keys.
Datensätze werden über TTable eingefügt mittels
Delphi-Quellcode:
Table.append;
table.fieldbyname('Feldname').AsString:=Inhalt;
...
Table.post;
Auffällig war noch, dass das hinzufügen geöhnlich sehr langsam läuft, nur direkt nach dem Rebuild die ersten paar hundert Sätze Faktor 20 schneller.

Oder gibts es etwa eine Größenbeschränkung bei Paradox-Tabellen?

Grüße

Manfred
Manfred
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Kann keine Datensätze mehr zu Paradox-DB hinzufügen

  Alt 1. Apr 2006, 12:04
Hallo manfred versuch mal Testweise die datensätze per SQL-Insert (TQuery) einzufügen. TTable-Objekte sind gefährlich bei großen Datenmengen.
Markus Kinzler
  Mit Zitat antworten Zitat
Thanatos81
(Gast)

n/a Beiträge
 
#3

Re: Kann keine Datensätze mehr zu Paradox-DB hinzufügen

  Alt 1. Apr 2006, 12:48
Mit welcher Block Size wurde die DB denn erstellt? Habe lange nix mehr mit Paradox gemacht, aber wenn ich mich recht erinnere, hing die max. Größe einer tabelle u.a. davon ab, welche block Size in der BDE während des Erstellens angegeben war.

Evtl. könnte man also die Blocksize erhöhen, neue tabellen mit der selben Struktur erstellen und die Daten kopieren. aber wie gesagt, lange nix mehr mit Paradox gemacht, ich übernehme als keinerlei Gewähr dass das hilft
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#4

Re: Kann keine Datensätze mehr zu Paradox-DB hinzufügen

  Alt 1. Apr 2006, 17:33
Der Zusammenhang zwischen BlockSize und MaxTableSize ist korrekt:

Zitat:
This is the "maximum table size" determined when this
table was created. It really indicates the size of each
block of records in the data section of the table.

1 = 64M (block size = $0400 bytes)
2 = 128M (block size = $0800 bytes)
3 = 192M (block size = $0C00 bytes)
4 = 256M (block size = $1000 bytes)
Die Standardeinstellung ist 2 (2048). Wer das Paradox-Speicherformat in Projekten einsetzt, der hat auch ein Repair Tool, mit dem er die BlockSize einer Tabelle verändern kann. Alternativ kann mit BDEADMIN die BlockSize auf 4096 angehoben und die Tabelle umkopiert werden.

Grüße vom marabu
  Mit Zitat antworten Zitat
LeisureSuitLarry

Registriert seit: 8. Dez 2005
Ort: Unterschleißheim
90 Beiträge
 
Delphi 2010 Professional
 
#5

Re: Kann keine Datensätze mehr zu Paradox-DB hinzufügen

  Alt 3. Apr 2006, 10:39
Erst mal Danke an alle.

Die Blocksize von 2K war das Problem.

Allerdings wehrt sich Paradox beim ändern sehr heftig. Verändert man die Blocksize der Datenbank, gehen Datensätze verloren. Beim Kopieren von der alten DB in die Neue mittels Paradox 10 kommt erst mal eine Fehlermeldung, dass der Datenträger voll wäre... (bei 40GB Platz).
Kopiert man aber die (neue) Datenbank vom Windows2003Server auf eine lokale Platte, lassen sich die Datensätze im Schleichtempo reinkopieren. Dabei verliert man zwar mindestens eine Keydatei , aber was solls, läßt sich ja rekonstruieren.

Grüße

Manfred
Manfred
  Mit Zitat antworten Zitat
Thanatos81
(Gast)

n/a Beiträge
 
#6

Re: Kann keine Datensätze mehr zu Paradox-DB hinzufügen

  Alt 3. Apr 2006, 11:52
Zitat von LeisureSuitLarry:
Erst mal Danke an alle.

Die Blocksize von 2K war das Problem.

Allerdings wehrt sich Paradox beim ändern sehr heftig. Verändert man die Blocksize der Datenbank, gehen Datensätze verloren. Beim Kopieren von der alten DB in die Neue mittels Paradox 10 kommt erst mal eine Fehlermeldung, dass der Datenträger voll wäre... (bei 40GB Platz).
Jupp, das ist auch ein Bug entweder in der BDE , leg auf dem Server mal eine 1-Byte große Datei an

Wenn der freie Speicherplatz in GB mod 4 = 0 ist, kommt die Meldung die Platte wäre voll Siehe auch hier
  Mit Zitat antworten Zitat
Antwort Antwort


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 00:10 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