Leemi
Fri Mar 25 16:25:31 CST 2005
Hi Paul:
The 4 option was added in VFP 8.0 SP1, so you need to install SP1 to get
this. Using 4 normally prevents these problems and is safer than setting it
to 0. You can use 0 if you are unlikely to exceed the 2 GB limit of the
file.
The SET REPROCESS and the TABLEVALIDATE are two separate things. You can
still see problems with TABLEVALIDATE regardless of the REPORCESS setting.
I hope this helps.
This posting is provided "AS IS" with no warranties, and confers no rights.
Sincerely,
Microsoft FoxPro Technical Support
Lee Mitchell
*-- VFP9 HAS ARRIVED!! --*
Read about all the new features of VFP9 here:
http://msdn.microsoft.com/vfoxpro/
*--Purchase VFP 9.0 here:
http://www.microsoft.com/PRODUCTS/info/product.aspx?view=22&pcid=54787e64-52
69-4500-8bf2-3f06689f4ab3&type=ovr
Keep an eye on the product lifecycle for Visual FoxPro here:
http://support.microsoft.com/default.aspx?id=fh;[ln];lifeprodv
- VFP5 Mainstream Support retired June 30th, 2003
- VFP6 Mainstream Support retired Sept. 30th, 2003
>Thank you.
>I don't think a virus scanner is causing the problem, because it's so
rare,
>only every few weeks. Anyway, I'm not sure these computers even have
>antivirus on them.
>But the TABLEVALIDATE might do it. This is written in VFP8, so there
doesn't
>seem to be an option 4. Setting it to 0 sounds like it would speed up
>operation, but what is the downside? Minor corruption could be converted
>into a major hosing, maybe. Any other thoughts?
>Also, with REPROCESS set to 0 as it is, I would expect that this problem
>would not occur. Comments?
"Lee Mitchell" <Leemi@online.microsoft.com> wrote in message
news:bztJ8xUMFHA.1016@TK2MSFTNGXA03.phx.gbl...
> Hi Paul:
>
> Along with all the other suggestions you received, make sure you prevent
> any anti virus from scanning you VFP data file. See this article:
>
>
http://support.microsoft.com/default.aspx?scid=KB;EN-US;321550
>
> Also, you might want to add a SET TABLEVALIDATE TO 4 or to 0 to your code.
> You can sometimes gets an error like you mention when VFP locks the header
> records to check it and then someone else tries to access the table. (I
> assume you are using VFP 8.0 or later. )
>
> I hope this helps.
>
> This posting is provided "AS IS" with no warranties, and confers no
> rights.
>
> Sincerely,
> Microsoft FoxPro Technical Support
> Lee Mitchell
>
> *-- VFP9 HAS ARRIVED!! --*
> Read about all the new features of VFP9 here:
>
http://msdn.microsoft.com/vfoxpro/
>
> *--Purchase VFP 9.0 here:
>
http://www.microsoft.com/PRODUCTS/info/product.aspx?view=22&pcid=54787e64-52
> 69-4500-8bf2-3f06689f4ab3&type=ovr
>
> Keep an eye on the product lifecycle for Visual FoxPro here:
>
http://support.microsoft.com/default.aspx?id=fh;[ln];lifeprodv
> - VFP5 Mainstream Support retired June 30th, 2003
> - VFP6 Mainstream Support retired Sept. 30th, 2003
>
>
>> In this multi-user (usually no more than a dozen or so) file server app,
> I
>> sometimes get errors that seem to make no sense. For instance, a line
> like
>> this got a "file in use" error:
>>
>> INSERT INTO mytable VALUES (1, 2, "abcd")
>>
>> Nowhere in the app is mytable locked or opened exclusively. There are no
>> FoxPro users who might have opened the table in FoxPro, and there are no
>> other processes that access the tables.
>>
>> This particular process has been operating for more than a year without
>> error, now this. I occasionally - maybe once every month or two - get
>> unexpected errors like this in other procs. Anyone have an idea what's
>> going on?
>>
>> Could network issues be causing this?
>>
>> Most data access in this app uses views or sometimes tables directly, but
>> buffered. But there are a few cases, like this one, where data contention
>> is so unexpected that I didn't bother buffering and just access the table
>> directly. For crying out loud, how can a simple INSERT fail, if nothing
> is
>> locking the table? (There might be an occasional APPEND, but it would be
>> short, no more than a handful of records.)
>>
>> REPROCESS is set to 0.
>>
>> Why is this happening? Do I have to start buffering everything?