tables always gets corrupt, what can I do

Hello,
Thats a question I ask for someone, so
I don't know all the facts.
One day it was a ... No wrong way.
Euh. I have a program average size
in delphi 5 bde 5.01. paradox tables.
My table indexes gets very often corrupded. I do all the things I can
to avoid that but with not much luck.
I'm using bdeFlushBuffers everytime I can
My tables, with cachedUpdate are applyed.
even with that the tables gets corrupded.
Have you heard of that problem. How
can I solve it.
The program is running under W95
Would the solution be to change for 98 or NT
They may be another solution ?
When I do a packtable at the program
exit I get some good results. But it's
a long process and my users don't like
it. anyway there must be another way.
So. Do you need some more infos.
What can I do ?
Thanks in advance for your help
my friends.
JON.
LVL 4
jeurkAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Phoenix_sCommented:
I played the paradox game under Delphi 2

and yes... corrupted indexes and tables seemed commonplace at the time.

Were you using any referential integrity?  I know that it caused me nothing but nightmares when I was walking that dark path.  I eventally got sick to death of Paradox and the million or so index and ref files it made and switched over to Access..
0
kretzschmarCommented:
hi jeurk,

some guidelines

the indexes gets corrupt, when one client ends the session abnormally.

be sure that the network is working properly

it could also be that different bde-versions on the client causes this problem.

be sure that the netfiledir on all clients is exact the same entry and is pointed to a shared networkdrive with fullaccess

be sure that the databasepath on all clients is exact the same and is not subst or mapped root (this causes, that the paradox-engine means that are different databasetables).

i've running some applications, which uses paradox as database, but had never such a problem.

what errormessage(s) do you get?


meikl
0
Phoenix_sCommented:
I played the paradox game under Delphi 2

and yes... corrupted indexes and tables seemed commonplace at the time.

Were you using any referential integrity?  I know that it caused me nothing but nightmares when I was walking that dark path.  I eventally got sick to death of Paradox and the million or so index and ref files it made and switched over to Access..
0
Cloud Class® Course: Amazon Web Services - Basic

Are you thinking about creating an Amazon Web Services account for your business? Not sure where to start? In this course you’ll get an overview of the history of AWS and take a tour of their user interface.

kretzschmarCommented:
my condulence, Phoenix_s  ;-)
0
jeurkAuthor Commented:
Phoenix_s : I'm not using ref integrity.
but you are right it's a nightmare.

Meikl :
Hello Meikl. How are you doing ?

Some comments about your comments.

My indexes get's corrupt even with normal
termination. Let's say that I update
my database with a big calc and the second time
even without restart the program
complains about something that did no work out
on the bdd. When I check with something
like bdexplore32 it says my tables
are corrupted. Not always the same.

My bdd is local and only one person is using
it... that's the point. It should work.
0
kretzschmarCommented:
hi jeurk,

i'm fine, and you?
terrible much work at the last weeks

yup, as you said, it should work

did you use smartdrv, if yes then disable the writebehind-cache

did you use drivespace, if yes then move your database to a not compressed drive

did you get the errormessage only on secondary indexes, then be sure, that the maintenance-flag was set during table/index-creation.

meikl
0
jeurkAuthor Commented:
fine thanks.
Much work here too.
I'm at work here and it's already
20h19. zwanzig nach acht uhr abendz
ist viel zu spaht ;)

what's that maintenance flag ?
it's the pack on exit option ?
0
kretzschmarCommented:
hi jeurk,

well, don't know if i have translated it right from my regional language. in paradox you can decide, if a secondary index will be actualized by tablechanges or not.

this flag is available if you create secondary indexes with bdd, if you create secondary-indexes with delphi (method addindex) the secondary index will be actualized automatically.

>it's the pack on exit option ?
don't know if packing influences the secondary index definition
will take a look to it.

anyway if you are using secondary indexes without actualizing then you would get a errormessage like
index out of date

well, have a nice evening and relax before tomorrow
it's 20:38 at me, but i'm at home now

meikl ;-)
0
kretzschmarCommented:
hi jeurk,

in the meantime i've visit borland and found that the bde 5.01 have several bugs, see at

http://www.borland.com/devsupport/bde/issues/501/paradox.html#index

maybe one causes your problem, therefore it could not be wrong to update the bde to version 5.1

available at
http://www.borland.com/devsupport/bde/

meikl
0
jeurkAuthor Commented:
'lo

yes, of all the bugs that listed
there I already had at least half
of them in my other projects.
When I see that they are still open...

OK, I don't think we can solve the
problem today ;)

Lets say that we can conclude the
thing by saying *what a crap*

Euh, nobody has a comment about the switch to windows 98 or NT ?
0
kretzschmarCommented:
hi jeurk,

i don't think that a switch to w98 or nt makes a great difference.

i would recommend  to upgrade your bde to version 5.1 (i've never used bde-ver 5.01, only 4.0 and 5.1)

meikl
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
jeurkAuthor Commented:
I saw a big difference between my
prog running under 95-98 and NT.
It's working much better under NT.

Thanks for your help Meikl.

You too Phoenix.
0
r_s_patilCommented:
1> Try Committing peridically with TDatabase.Commit

2> Check whether you are using master detail relations with tables and master is closed before detail.
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Delphi

From novice to tech pro — start learning today.