Ошибка: 1718 ... File d:\alg_sinh\tmp\dvi_tow.dbf is read-only

MaestroEv
Дата: 13.09.2012 06:48:52
Иногда.. очень редко бывает такое.
------------------
Файлик - получаем как то так..
=closedbf("dvi_tow")
Erase dvi_tow.dbf
Select *** into dbf dvi_tow.dbf

и вот ниже когда че-нить в нем правим - иногда получаем вот ошибку : read-only.
-------------------
Это из модуля пересчета остатков по товару. Запускается десятки тысяч раз в день на разных компах.
Понятно что после перезапуска программы все опять ок. Бывает очень редко..
tanglir
Дата: 13.09.2012 07:07:16
MaestroEv
closedbf
это что ещё за зверь?
MaestroEv
Дата: 13.09.2012 07:32:46
закрывашка.. сам писал.. :) Это для понимая.. я ее гарантированно закрыл, удалил, создал заново.
IgorNG
Дата: 13.09.2012 09:30:55
MaestroEv,

Может SELECT не успевает еще отработать из-за большого объема, а его уже пытаются править?
Dima T
Дата: 13.09.2012 09:46:11
IgorNG
Может SELECT не успевает еще отработать из-за большого объема, а его уже пытаются править?

Так не бывает. Фокс однопоточный.

Больше похоже на проблемы из-за ОС или антивируса. Собирай инфу по таким глюкам: какой виндовс, какой антивирус стоит.
Антивирусу лучше вообще добавить в исключение свою прогу.
tanglir
Дата: 13.09.2012 10:46:33
Dima T
Антивирусу лучше вообще добавить в исключение свою прогу.
И каталог с обрабатываемыми файлами.
Sergey Ch
Дата: 13.09.2012 11:54:21
Dima T
Фокс однопоточный.

Больше похоже на проблемы из-за ОС или антивируса....

+1

Кроме того OS многопоточная (если несколько CPU)...

Такое случается не только с FoxPro. В этом случае Microsoft рекомендует сделать задержку и потом попытаться повторить операцию снова (так как операционная система должна присвоить созданному файлу необходимые attributes and rights. Во время этой операции файл открывается OS в монопольном режиме на очень короткое время (зависит от свободных ресурсов системы)). Данная functionality (повторное выполнение чтения/записи) встроена во многие программы. Таких попыток повторения может быть довольно много...
MaestroEv
Дата: 14.09.2012 06:44:29
Спасибо всем огромное!
tanglir
Дата: 14.09.2012 08:23:35
MaestroEv,

так что, дело было в АВ?
MaestroEv
Дата: 17.09.2012 06:48:18
Антивирусу запретили путь. Flush сделал после формирования SELECT.. Ну пока ошибка не лезет.