| David W. Fenton 2005-05-17, 8:25 pm |
| "karen" < nospambugarsnotspam@
ix.netcomspamnot.com> wrote in
news:Yr5ie.1$x3.68@bcandid.telisphere.com:
> We get corruption, oh, maybe once a year or so. The network is
> slow perhaps, then they start getting error messages. I kick
> everyone out, and see records with #ERROR all across. I've
> recovered the data by copying everything to Excel in the bad
> database, and then copying it back. (I've got to do some funky
> stuff, since there are autonumber fields to deal with as well.)
> We always lose a few records. Last week we had corruption, and
> the repair wouldn't work, so I restored from backup. I then tried
> a repair from 2002, and it did work (converting the database as
> well), so I managed to give them some of the data they had
> entered. Some was still lost.
You must have a network problem somewhere, or your program is doing
something not kosher with managing connections. Or somebody is
shutting off their PC with a pending edit (though whether or not
that can corrupt your data depends entirely on how it's implemented
in the app).
The problem you described sounds like lost memo field pointers. Two
things to do:
1. change the memo fields to text fields, if the data will fit.
2. make sure the app uses no "bound" methods for editing memos.
I'm not sure how a C++ application would implement this, but when
implementing it in Access, the crucial idea is that the user edits
an unbound control that was populated in code and then the changes
are posted via SQL that updates the underlying record. If the
programmer used any advanced add-in controls that offered any kind
of data binding, this might be the source of the problem.
Also, you might try sending a corrupted MDB to Peter Miller at
PKSolutions.com -- he can recover just about anything.
> So, other than not having enough time to work on this project, and
> not knowing exactly how the database access* works, what am I
> doing wrong? I don't like any corruption, but it still
> occasionally happens. Do I need a split database when the
> database only has tables? Tell me more about transaction logs to
> rebuild corrupted data stores. (I don't usually have physical
> access to the computer the data resides on, just a network map to
> the drive.)
The comment about transaction logs was about SQL Server, not Jet,
which doesn't have (and couldn't possibly ever have) such a thing.
--
David W. Fenton http://www.bway.net/~dfenton
dfenton at bway dot net http://www.bway.net/~dfassoc
|