Brian Copeland
2004-09-07 15:50:33 UTC
What we see happening is that when the Visual Foxpro data resides on a
Windows '98 computer (we are using free tables, not a .DBC, if that
matters), there is an issue when accessing the data using more than
other Windows XP workstation. When one workstation appends a record
into the database, it seems that the header reflects the new record
count, but the new record itself doesn't exist. As a result, an
attempt to open the same database on another XP workstation will come
up with an error 2091 -- corrupted database due to header/data
mismatch. The problems persists until the database is closed. It isn't
a problem when only one XP machine has the table open... only when
another tries to open (shared) the same table.
Setting TableValidate to 0 "fixes" the problem, however, then the
second workstation runs the risk of inserting data into a table for
which the actual number of records is inconsistent with the record
count. The table isn't really corrupted, it just "appears" that way to
Visual Foxpro. This only seems to happen if the data is on a Windows
'98 computer being accessed by two or more Windows XP workstations,
using computer name or a drive letter.
How safe or unsafe is it to set TableValidate to 0 in this situation?
Wouldn't this run the risk of "lost" records due to update conflicts?
Is there a known work-around to this? We have tried setting
caching/write properties on the folder on the Windows '98 machine
where the data resides, with no luck. We found this after seeing a
pattern in customer calls, where a database would appear corrupted
only if another workstation was logged in. When we set it up to test
here, sure enough, it happened right off. Is this a known issue with
Visual Foxpro, or is the problem in the connection between Windows '98
and Windows XP?... and if so, which one is at at fault, the '98
sharing its files, or the XP accessing it?
Windows '98 computer (we are using free tables, not a .DBC, if that
matters), there is an issue when accessing the data using more than
other Windows XP workstation. When one workstation appends a record
into the database, it seems that the header reflects the new record
count, but the new record itself doesn't exist. As a result, an
attempt to open the same database on another XP workstation will come
up with an error 2091 -- corrupted database due to header/data
mismatch. The problems persists until the database is closed. It isn't
a problem when only one XP machine has the table open... only when
another tries to open (shared) the same table.
Setting TableValidate to 0 "fixes" the problem, however, then the
second workstation runs the risk of inserting data into a table for
which the actual number of records is inconsistent with the record
count. The table isn't really corrupted, it just "appears" that way to
Visual Foxpro. This only seems to happen if the data is on a Windows
'98 computer being accessed by two or more Windows XP workstations,
using computer name or a drive letter.
How safe or unsafe is it to set TableValidate to 0 in this situation?
Wouldn't this run the risk of "lost" records due to update conflicts?
Is there a known work-around to this? We have tried setting
caching/write properties on the folder on the Windows '98 machine
where the data resides, with no luck. We found this after seeing a
pattern in customer calls, where a database would appear corrupted
only if another workstation was logged in. When we set it up to test
here, sure enough, it happened right off. Is this a known issue with
Visual Foxpro, or is the problem in the connection between Windows '98
and Windows XP?... and if so, which one is at at fault, the '98
sharing its files, or the XP accessing it?