dbf trashing problem after upgrade  
Author Message
mneves





PostPosted: Top

Exchange Servers >> dbf trashing problem after upgrade

greetings to all,

we have been loyal foxpro users for 12 years now and have developed various
point-of-sale applications by using forpro 2.6
for windows. our pos applications run on windows 98 se and in most cases run
in a network environment with at least 3 users
and above. due to the nature of foxpro dbfs and the serious issue of dbf
files being trashed which especially occurs when the
ups system goes down unexpectedly or when the server (also a win98 se
machine) crashes, we extensivley used foxfix to remedy
any issue automaticallty from the software and things seemed to work great
99.99% of the time all in all resulting in a very
stable and recoverable application that made our clients very happy and our
support staff glad.

last year, we converted one of our pos applications to vfp7 sp1 (running on
windows xp) and since we were loyal foxfix users,
we purchased foxfix 5.2 in order to obtain and attain the reliablity which
we were accustomed to from the marriage of fpw26
and foxfix in our suite of applications. but things now seem to have
changed. any time a crash occurs - for example the ups
system goes down - foxfix is able to make all dbfs usable after a total
system restart, but now opening any dbf file which is
updated extensivley by the application (the sales file for example) and
setting the order to the primary index tag yields
tons of trash records at the beginning and the end of the dbf in the browse
window. this case almost always happens when any
crash of either the ups or the server occurs. what surprised us is that this
EXTREMELY RARELY occured with our old version!
what is also funny is that in most cases, no data seem to have been lost
(except for the cases of partial record trashing),
only garbage gets appended to or inserted into the dbf from an unknown
source.

We have reused 95% of the code in our old application and the business logic
is still the same. we do not use any buffering,
or transaction tracking. all updates to the dbf are directly written
followed by a flush command in the unload method of each
form - the same way as we used to do before. also, we use the same data
session for all the application and all dbf files are
opened at the start of the application and are closed when the application
terminates.

when you upgrade a development platform, you expect all the niceties and
advantages and reliability that comes with the term
UPGRADE. what you dont expect is going a couple of steps back with an
upgrade of at least 4 versions forward (fpw26 to vfp7),
and at least 2 upgrades forward for the os (win 98 se to winxp). but then
again, we might have made a mistake somewhere.

i would appreciate any help or feedback regarding this issue and i thank all
those who reply to this post in advance for
their help and for sharing their experiences.

regards

anis

Exchange Server41