Help - Temporary Table Resource Limit ?

Help - Temporary Table Resource Limit ?

Post by ryanoffor » Wed, 03 Sep 2003 19:35:36


Just come across the following message :

Project ClientImport.exe raised exception class EDBEngine Error with
message 'Temporary Table Resource Limit.'. Process Stopped. Use Step
or Run to Continue.

The thing that really worries me is that this occurs on something very
simple but crucial.

I'm performing a SELECT * on a table and then moving to the last
record. This table is massive. It has approx 300 fields and 120,000
rows. It's been supplied by a third party and I can't change the
design. Personally I think the design needs some serious
normalisation. The table takes up 432Mb on it's own and is really
slow.

Is there anything I can do to work around this error ? I have a number
of apps that use this table and I imagine that they will all
potentially have this error. This could cause me quite a lot of
problems.

Are any other tables that I access held in cache somehow ? If so, can
I clear them (and how). I am running through several large tables
before this one but they should no longer be in use.

Any help would be appreciated.
 
 
 

Help - Temporary Table Resource Limit ?

Post by Dan » Thu, 04 Sep 2003 08:27:34

What database are you using? Are you using the BDE to connect to it?
How many records do you expect to return, and how many of the 300
fields? If you are using the BDE, the query will create a Paradox
table to hold the result set, even if the target db is some other db.
Paradox is limited to a max of 127 or 255 fields as I recall.

HTH,
Dan

 
 
 

Help - Temporary Table Resource Limit ?

Post by Aage Johan » Thu, 04 Sep 2003 16:53:40


You can change this in the BDE.
Increase "Block size" in the BDE Admin:
(Configuration|Drivers|Native|Paradox).
Set it to 4096 (or 8192) - this will allow new tables (i.e. temporary ones)
to become bigger.
Hitting 'Last' will probably cause the whole table to be read into memory.
 
 
 

Help - Temporary Table Resource Limit ?

Post by Markku Nev » Thu, 04 Sep 2003 17:04:56


You gave zero information about your DB or about the third party DB
format or engine.

But even with this information I would quess that you do not need
the data from all of those 300 Fields, which is massive amount of Fields
for one Table.

Instead use: SELECT CustNo, Company, Person ...from XXX...

Even this simple change alone could solve your problem. But you probably
will tell more details if it did not help.

Markku Nevalainen
 
 
 

Help - Temporary Table Resource Limit ?

Post by ryanoffor » Thu, 04 Sep 2003 17:44:50

SQL7 with BDE 5.01. Ideally need to return all the fields. I have
found a way around this, but still need to satisfy my curiosity.
 
 
 

Help - Temporary Table Resource Limit ?

Post by Dan » Sat, 06 Sep 2003 05:45:34


I couldn't find the right paper, but I did find the error message for
the BDE saying the Answer table is limited to 255 fields. Aage's
suggestion to increase the block size is good, but won't get around
this limit.
The BDE *will* use Paradox tables for intermediate data storage, such
as query results, so to be able to show all 300 fields in one dbgrid,
you will have to use a different path.

hth,
Dan