Board index » delphi » Large Paradox database in Delphi - What 'Block size'?

Large Paradox database in Delphi - What 'Block size'?

I am building a very large Paradox database in Delphi 3. I get the 'Table
full' message at around 130 megs but need to go to about 300 meg.

From other postings I know I have to alter the 'block size' but I can't
figure out where/how to do this and the Delphi 3 documentation/help files
are no help at all.

PS I don't have Paradox itself just Delphi 3 but I must be able to set the
block size when I create the database in D3 surely?!!?

Help much appreciated - I'm stuck.

-------------------==== Posted via Deja News ====-----------------------
      http://www.dejanews.com/     Search, Read, Post to Usenet

 

Re:Large Paradox database in Delphi - What 'Block size'?


Quote
In article <884139277.416153...@dejanews.com> f...@fgibson.demon.co.uk writes:
>I am building a very large Paradox database in Delphi 3. I get the 'Table
>full' message at around 130 megs but need to go to about 300 meg.
>From other postings I know I have to alter the 'block size' but I can't
>figure out where/how to do this and the Delphi 3 documentation/help files
>are no help at all.
>PS I don't have Paradox itself just Delphi 3 but I must be able to set the
>block size when I create the database in D3 surely?!!?
>Help much appreciated - I'm stuck.

The block-size of a table, ironically enough, *isn't* a parameter that you can
specify when you create the table .. beats the hell out of me why.  It's an
IDAPI Configuration Utility setting for the Paradox driver.  All tables
created since that setting is changed, use the current setting.

Other obvious things, like changing the block-size of a table on the fly,
aren't possible either.  You have to change the setting, create a new table
("borrowing" the old table's structure), add records into it, and .. yuck.

But the fact remains... a Paradox table can consist of no more than 65,535
physical blocks, with one or more records per block.  There are further
advantages in keeping it less than 32,767 blocks if you're using indexes.

Re:Large Paradox database in Delphi - What 'Block size'?


On 7 Jan 1998 15:58:01 -0700, news-re...@sundialservices.com (Sundial

Quote
Services) wrote:
>The block-size of a table, ironically enough, *isn't* a parameter that you can
>specify when you create the table .. beats the hell out of me why.  It's an
>IDAPI Configuration Utility setting for the Paradox driver.  All tables
>created since that setting is changed, use the current setting.

>Other obvious things, like changing the block-size of a table on the fly,
>aren't possible either.  You have to change the setting, create a new table
>("borrowing" the old table's structure), add records into it, and .. yuck.

Well, in the Borland web site, there is a utility called pdxrest
(something similar, I don't remember the name well) that allows you to
change the version, block size of any Paradox table.

Francisco

Re:Large Paradox database in Delphi - What 'Block size'?


In article <34b46cec.622...@news.umac.mo>, Francisco Leong
<d941...@umac.mo> writes

Quote
>On 7 Jan 1998 15:58:01 -0700, news-re...@sundialservices.com (Sundial
>Services) wrote:

>>The block-size of a table, ironically enough, *isn't* a parameter that you can
>>specify when you create the table .. beats the hell out of me why.  It's an
>>IDAPI Configuration Utility setting for the Paradox driver.  All tables
>>created since that setting is changed, use the current setting.

Thanks.. found it. Unfortunately all my attempts to change the block-
size still result in Table Full error at 130 meg+. I have done as you
suggest. I have tried changing to 4k then to 8k etc. up to 32k
(restarting the machine afterwards, making a new database then borrowing
the table structure then copying in the records from the old version via
Database Desktop) each time to no avail. Each record consists of four
fields (an autoincrement field, a 1 char alpha field, a 30 char alpha
field and a Long Integer field, all are index fields. The number of
records will ultimately be approx 6 million (it's a step in making a
dictionary index).

Any thoughts?

Quote
>>Other obvious things, like changing the block-size of a table on the fly,
>>aren't possible either.  You have to change the setting, create a new table
>>("borrowing" the old table's structure), add records into it, and .. yuck.

Yuck indeed. I've wasted two days on this...

Quote
>Well, in the Borland web site, there is a utility called pdxrest
>(something similar, I don't remember the name well) that allows you to
>change the version, block size of any Paradox table.

I will try this next.

Quote
>Francisco

--
Fred Gibson

Re:Large Paradox database in Delphi - What 'Block size'?


Start TUtility, and select your new table.  Inspect the BlockSize field to check
whether your change (to f.ex. 8K) took effect.

Aage J.

Quote
Fred Gibson wrote:
> In article <34b46cec.622...@news.umac.mo>, Francisco Leong
> <d941...@umac.mo> writes
> >On 7 Jan 1998 15:58:01 -0700, news-re...@sundialservices.com (Sundial
> >Services) wrote:

> >>The block-size of a table, ironically enough, *isn't* a parameter that you can
> >>specify when you create the table .. beats the hell out of me why.  It's an
> >>IDAPI Configuration Utility setting for the Paradox driver.  All tables
> >>created since that setting is changed, use the current setting.

> Thanks.. found it. Unfortunately all my attempts to change the block-
> size still result in Table Full error at 130 meg+. I have done as you
> suggest. I have tried changing to 4k then to 8k etc. up to 32k
> (restarting the machine afterwards, making a new database then borrowing
> the table structure then copying in the records from the old version via
> Database Desktop) each time to no avail. Each record consists of four
> fields (an autoincrement field, a 1 char alpha field, a 30 char alpha
> field and a Long Integer field, all are index fields. The number of
> records will ultimately be approx 6 million (it's a step in making a
> dictionary index).

> Any thoughts?

> >>Other obvious things, like changing the block-size of a table on the fly,
> >>aren't possible either.  You have to change the setting, create a new table
> >>("borrowing" the old table's structure), add records into it, and .. yuck.

> Yuck indeed. I've wasted two days on this...

> >Well, in the Borland web site, there is a utility called pdxrest
> >(something similar, I don't remember the name well) that allows you to
> >change the version, block size of any Paradox table.

> I will try this next.

> >Francisco

> --
> Fred Gibson

Re:Large Paradox database in Delphi - What 'Block size'?


Problem solved. I was altering Adapi.cfg i/o Adapi32.cfg (I have Delphi
1 loaded as well). Shows you that with beginners like me you can never
take anything for granted.....

The Borland utility works fine by the way.

Quote
>Thanks.. found it. Unfortunately all my attempts to change the block-
>size still result in Table Full error at 130 meg+. I have done as you
>suggest. I have tried changing to 4k then to 8k etc. up to 32k
>(restarting the machine afterwards, making a new database then borrowing
>the table structure then copying in the records from the old version via
>Database Desktop) each time to no avail. Each record consists of four
>fields (an autoincrement field, a 1 char alpha field, a 30 char alpha
>field and a Long Integer field, all are index fields. The number of
>records will ultimately be approx 6 million (it's a step in making a
>dictionary index).

>Any thoughts?

--
Fred Gibson

Other Threads