Board index » delphi » Paradox Table Corruption (Paradox file corrupt other than header)

Paradox Table Corruption (Paradox file corrupt other than header)

I reduced the problem to a small program with one ttable and a loop
reading data out of an asciifile into the table.
When I stop the program after 138000 sets or less the table is ok.
After 140000 the table is corrupt (By the way, the table is 60500K big
then)
And I'm out of ideas now, because:
I used a fresh, empty, clean and checked table.
I set Local share on TRUE
I called dbisavechanges after every 100 datasets
I turned off caching of the OS (and even virtual memory)

If I do all this or not, the result is the same.

If no one can help me with this problem, perhaps someone can give me
an advice for a BDE replacement?

Thanks in advance

Andreas

 

Re:Paradox Table Corruption (Paradox file corrupt other than header)


Try increasing the block size of the table and see what happens.

Bill

(Sorry but TeamB cannot answer support questions received via email.)
(To send me email for any other reason remove .nospam from my address.)

Re:Paradox Table Corruption (Paradox file corrupt other than header)


Andreas, does 60500K mean 60 MB or just 60K? How many records are we talking about? Is this a one time import or an on going routine?

--

==================================================                        
Scott Simonson from Franklin WI
 EMail:    sco...@execpc.com
 Web Page: http://www.execpc.com/~scoots                            

**************************************************
******** Way to Go Green Bay Packers *************
********      Superbowl Champs       *************
**************************************************
==================================================

Quote
Andreas Seebeck wrote in message <34c1d600.1975...@forums.borland.com>...
>I reduced the problem to a small program with one ttable and a loop
>reading data out of an asciifile into the table.
>When I stop the program after 138000 sets or less the table is ok.
>After 140000 the table is corrupt (By the way, the table is 60500K big
>then)
>And I'm out of ideas now, because:
>I used a fresh, empty, clean and checked table.
>I set Local share on TRUE
>I called dbisavechanges after every 100 datasets
>I turned off caching of the OS (and even virtual memory)

>If I do all this or not, the result is the same.

>If no one can help me with this problem, perhaps someone can give me
>an advice for a BDE replacement?

>Thanks in advance

>Andreas

Re:Paradox Table Corruption (Paradox file corrupt other than header)


Quote
>Try increasing the block size of the table and see what happens.

That was the first thing I tried, the result was even more strange
things.

Andreas

Re:Paradox Table Corruption (Paradox file corrupt other than header)


Quote
>Andreas, does 60500K mean 60 MB or just 60K? How many records are we =
>talking about? Is this a one time import or an on going routine?

60MB, 138000 and 140000 records. One time import. Just one loop (as
thread) with a readln, field parsing of the string, writing to the
fields and post. And the loop generates no error, nothing.

Please notice: The real application uses 25 tables, were at least 3 of
them always get corrupt, while working with them. And we have NO
network and NO computer crashes.

The case I mentioned above is just the case I can reproduce in a
simple environment.

Someone said 'Paradox tables don't just get corrupted, something makes
them corrupt'. I wished he could be here to see my tables get
corrupted. I really would like to know what's happening here.

Andreas

Re:Paradox Table Corruption (Paradox file corrupt other than header)


Quote
Andreas Seebeck wrote:

> >Andreas, does 60500K mean 60 MB or just 60K? How many records are we =
> >talking about? Is this a one time import or an on going routine?

> 60MB, 138000 and 140000 records. One time import. Just one loop (as
> thread) with a readln, field parsing of the string, writing to the
> fields and post. And the loop generates no error, nothing.

> Please notice: The real application uses 25 tables, were at least 3 of
> them always get corrupt, while working with them. And we have NO
> network and NO computer crashes.

> The case I mentioned above is just the case I can reproduce in a
> simple environment.

> Someone said 'Paradox tables don't just get corrupted, something makes
> them corrupt'. I wished he could be here to see my tables get
> corrupted. I really would like to know what's happening here.

> Andreas

You say one loop (as thread)... Have you tried it from the main program
w/o a thread?

Re:Paradox Table Corruption (Paradox file corrupt other than header)


What version of the BDE are you using?  What network are you using?
What block size are you using?  What is the exact text of the error
message you receive?  What version of Delphi are you using?  What
language driver are you using? Does the table contain any BLOB fields?
If so, how many?

Bill

(Sorry but TeamB cannot answer support questions received via email.)
(To send me email for any other reason remove .nospam from my address.)

Re:Paradox Table Corruption (Paradox file corrupt other than header)


Quote
> If no one can help me with this problem, perhaps someone can give me
> an advice for a BDE replacement?

> Thanks in advance

> Andreas

Hello Andreas.

I have written 2 application. One multithreaded application writes data to
one table with one primary key, threads have access to table via Mutex.
When table is about 60M and more, and When Second application makes query
to the table, raises exception Access Violation at IDPDX32.DLL . I'm not
using network here. I'm not using BLOB here.

To avoid this error I lock table before makes query and unlock table after
query execution. In first application I catch exception about locking table
and wait for unlocking.

I think it is bad solution, but I don't know better. Better solution may
produce who have source codes of BDE, I'm not.

Best regards,
Dmitriy Anisimkov.

Re:Paradox Table Corruption (Paradox file corrupt other than header)


Quote
>You say one loop (as thread)... Have you tried it from the main program
>w/o a thread?

Done. Same result. What a pitty.

Thanks, Andreas

Re:Paradox Table Corruption (Paradox file corrupt other than header)


Quote
>What version of the BDE are you using?

4.0.1.16 and the version before (no changes)
Quote
> What network are you using?

No network installed
Quote
>What block size are you using?

2048, also tried 4096
Quote
>What is the exact text of the error
>message you receive?  

TUtil says 'could not finish verification when it comes to the data.
A ttable or the database desktop displays stange letters, shifted
fields (displays some letters from the address in the name field eg.)
or the message 'paradox file corrupt but not the header) after the
140.000th record (when I jump with the scrollbar, scrolling recordwise
displays the same data correctly usually)
Quote
>What version of Delphi are you using?

3.0 Build 5.83 (should be the latest, no change to the initial 3.0)
Quote
> What
>language driver are you using?
German
>Does the table contain any BLOB fields?
>If so, how many?

No Blob fields

Best regards, Andreas

Re:Paradox Table Corruption (Paradox file corrupt other than header)


Quote
>When table is about 60M and more, and When Second application makes query
>to the table, raises exception Access Violation at IDPDX32.DLL .

In my case there is only one application with only one ttable and one
record adding loop, and no exception. But the size of 60Megs is the
same and that is very interesting. Unfortunately that doesn't help me
but perhaps anyone here in the forum knows something about this '60 M
frontier'?

Thanks, Andreas  

Re:Paradox Table Corruption (Paradox file corrupt other than header)


Quote
>What version of the BDE are you using?

Just downloaded 4.51, cleared and rebuild the table, read in the data
and: destroyed like before.

Andreas

Other Threads