I have got a paradox table which can´t hold more than about 851,955 records.
If I try to append more records an exception occurs: "Table can´t hold
further data" (the german errormessage is "Tabelle kann keine weiteren Daten
aufnehmen").
After this the table is corrupted.
Paradox block size is set to 32K, table-level is 7. (The table was also
created with these settings)
The table I use is expected to hold > 3 Million entries.
Am I wrong or is Paradox at its end?
Perhaps there may be a substitute for the BDE?
Please help me!
Thanks in advance, Werner
Table structure as follows:
WITH FieldDefs DO BEGIN
CLEAR;
ADD('Inc', ftAutoInc, 0, False);
ADD('PINC', ftInteger, 0, False);
ADD('MNR', ftInteger, 0, False);
ADD('DNR', ftInteger, 0, False);
ADD('DATUM', ftDateTime, 0, False);
ADD('ART', ftString, 5, False);
ADD('TEXT', ftString, 64, False);
ADD('SORTIER', ftString, 1, False);
ADD('NR', ftSmallint, 0, False);
ADD('ARZT', ftString, 1, False);
ADD('REFERENZ', ftInteger, 0, False);
ADD('PageName', ftString, 12, False);
ADD('Format', ftString, 3, False);
ADD('Size', ftInteger, 0, False);
ADD('Label', ftInteger, 0, False);
ADD('MText', ftFmtMemo, 1, False);
ADD('WorkStatus', ftSmallint, 0, False);
ADD('ShowStatus', ftSmallint, 0, False);
ADD('Med_PHZNR', ftString, 7, False);
ADD('Med_Referenz', ftInteger, 0, False);
END;
WITH IndexDefs DO BEGIN
CLEAR;
Add('', 'INC', [ixPrimary, ixUnique]);
ADD('IDX_Date','DATUM',[ixCaseInsensitive]);
ADD('IDX_Open','WorkStatus;DATUM',[ixCaseInsensitive]);
ADD('IDX_Nr', 'PINC;DATUM;ART;NR',[ixCaseInsensitive]);
END;
Werner Althoff <werner....@t-online.de> wrote in message
news:7nk3c7$4p...@forums.borland.com...
Bill
--
Bill Todd - TeamB
(TeamB cannot respond to questions received via email)
I do not know of any reason why you would have a corrupt table with a block size
of 32K but If your block size is 4K that is around the maximum size.
What errors does Tutiltiy report when your rebuild the table?
There are some users that report problems with autoincrement fields. You my
want to try restructuring to an Integer field and handing the new key value in
code.
--
Brian Bushay (TeamB)
Bbu...@NMPLS.com
what's the record size of the table? if it near 2500 bytes then the max.
number of records
is ca. 850.000. you must reduce the record size.
the max. size of a paradox database is 2 billion records. but there is a
little problem - the record size must be 1 byte. calculating the max. number
of records is a little bit complicated.
Paradox limitation is not the number of records. It's the number of blocks
(64K). The tablesize is a result of the block size. the limit is 2 Gigs.
With the default block size of 2k the max. is 128MByte. with 32k it's
2048MBytes. I thing 512MB is limit of paradox temp. tables.
example to calculate the max. number of records:
record size = 340
block size (*) records per block slack/block slack/kb max.
records
2048 6 2
1 393216
4096 12 10
2.5 786432
8192 24 26
3.25 1572864
16k 48 58
3.625 3145728
32k 96 122
3.81 6291456
(*)
Sub 6 Bytes for internal informations.
Ciao...
Josch
Werner Althoff <werner....@t-online.de> schrieb in im Newsbeitrag:
7nk3c7$4p...@forums.borland.com...
> Hello
>
> I have got a paradox table which can´t hold more than about 851,955
records.
> If I try to append more records an exception occurs: "Table can´t hold
> further data" (the german errormessage is "Tabelle kann keine weiteren
Daten
> aufnehmen").
> After this the table is corrupted.
> Paradox block size is set to 32K, table-level is 7. (The table was also
> created with these settings)
>
> The table I use is expected to hold > 3 Million entries.
> Am I wrong or is Paradox at its end?
> Perhaps there may be a substitute for the BDE?