[Webinar] Streamline your web hosting managementRegister Today

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 185
  • Last Modified:

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.
0
jeurk
Asked:
jeurk
  • 6
  • 4
  • 2
  • +1
1 Solution
 
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
Receive 1:1 tech help

Solve your biggest tech problems alongside global tech experts with 1:1 help.

 
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
 
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

Featured Post

[Webinar] Improve your customer journey

A positive customer journey is important in attracting and retaining business. To improve this experience, you can use Google Maps APIs to increase checkout conversions, boost user engagement, and optimize order fulfillment. Learn how in this webinar presented by Dito.

  • 6
  • 4
  • 2
  • +1
Tackle projects and never again get stuck behind a technical roadblock.
Join Now