Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Record size is too big for table

114 views
Skip to first unread message

Eero Hartiala

unread,
Dec 1, 2000, 3:00:00 AM12/1/00
to
I get that errormessage when restructuring a table. P5.0 + Win98.

What do I have to do.

Thanks
Eero

Henry Davie

unread,
Dec 1, 2000, 3:00:00 AM12/1/00
to
Were you trying to add a Key (primary index)? Paradox will fit a single
record into a block if it un-keyed, but I believe that it requires to fit
at least 3 records in a keyed table into each block. For a 4k block size I
think that this limits the record size of a keyed table to 1350 bytes. So if
you had an un-keyed file with a record size greater than 1350 bytes, and you
tried to restructure it with a Key field, then you will probably have
problems.

Eero Hartiala wrote in message <3a26d7e8@cnews>...

Bertil Isberg

unread,
Dec 1, 2000, 3:00:00 AM12/1/00
to
Eero

In a keyed table, the blocksize must allow three records. Check the
blocksize and the size of the record. I thought Paradox would select a
blocksize large enough to hold three records. Did you try to add columns to
an existing table?

--
Bertil Isberg CTECH
read the newsgroup: corelsupport.faqs.paradox
for Frequently Asked Questions
---------------------------------------------------
Eero Hartiala <pdx...@saunalahti.fi> skrev i
diskussionsgruppsmeddelandet:3a26d7e8@cnews...


> I get that errormessage when restructuring a table. P5.0 + Win98.
>

Eero Hartiala

unread,
Dec 2, 2000, 3:00:00 AM12/2/00
to
Yes, I did try to add columns to en existing table without any succes.

Then I foun I had several columns M100 (don´t know why). When I changed all
M100 -> M1, no problems any more.
So I understood that I have to increase the block size in idapi conf.
(P5.0), if I would keep the memos as M100.

So thanks at this time to Bertil and Henry (next thread). I get allways very
good answers to my problems. That is why it is so "nice" and "safe" to
build applications with Paradox.

Eero

Bertil Isberg <bertil...@nospam.telia.com> kirjoitti
viestissä:3a2812df@cnews...

John B. Moore

unread,
Dec 4, 2000, 3:00:00 AM12/4/00
to
In article <3a26d7e8@cnews>, Eero Hartiala wrote:
> I get that errormessage when restructuring a table. P5.0 + Win98.
>
> What do I have to do.
>

You are trying to make a table definition that is to "wide" for
pdox.. Pdox has limits on the width of a record depending on whether
it is keyed or unkeyed..

Frankly if you are hitting that limit you need to seriously rethink
your data design and consider reviewing the principles of data
normalization.


Storage Requirements/Limits for Paradox Field Types
---------------------------------------------------

This list outlines the number of bytes each Paradox field type
consumes in a record structure. Note that this is the space
taken up in the .DB file itself, not in any ancillary files,
such as .MB's.

Data Type Bytes
-----------------------------------------------------------
Alphanumeric 1 byte per character, up to 255
AutoIncrement 4 bytes
Binary (BLOB) 10 bytes + 1 per char. in Size (0 - 240) [1]
Bytes 1 per character, up to 255 max.
BCD 17
Currency (Money) 8
Date 4
Formatted Memo 10 bytes + 1 per char. in Size (0 - 240)
Graphic 10 bytes + 1 per char. in Size (0 - 240)
Memo 10 bytes + 1 per char. in Size (1 - 240) [2]
Logical 1
LongInt 4
Numeric (Number) 8
OLE 10 bytes + 1 per char. in Size (0 - 240)
SmallInt 2
Time 4
TimeStamp 8

Limits:

Maximum Field Count : 255 fields
Maximum Blocks per table : 64K
Maximum Block Size : 32K characters
Max Record Size, unkeyed : Current block size - 6 bytes [3]
Max Record Size, keyed : (BlockSize - 6) / 3, rounded down
to the nearest block size. [4]

Footnotes:

[1] All blob fields contain a 10-byte pointer to the .MB file,
which indicates where the "rest" of the field value can be
found.

[2] Unlike other "blob" data types, memos require at least one
character of the memo to be stored in the .DB file, for
compatibility with Paradox for DOS.

[3] The default block size is saved in IDAPI.CFG. To change
the default, run the Configuration Utility and then change
the Tables, Paradox, Block Size setting.

6 bytes of this value are reserved for internal pointers.

[4] This stems from the way Paradox records key values, which
go into a .PX file that is very similar to a table. The
size of the key cannot exceed 1/3 of the table's block
size; otherwise, Paradox tries to increase the block size.

When performing calculations, be sure to take the 6-byte
pointers into account.

+++++++++++++++++++++++
CTech are volunteer helpers. Please do not email replies or questions.
Post or reply only on this newsgroup. Thank you.
For freeware Pdox/BDE utilities check out
http://www.microps.com/mps/downloads.html
=======================


0 new messages