Странное кеширование файла
Здравствуйте.
Имеем такую проблему, есть файл Акцесса(.mdb) лежит он в папке C:\ProgramData\некое имя\файл.mdb Файл, база которая работает с sql сервером(не суть важно) Проблема в том, что на некоторых машинах под 7 этот файл при открытии, открывается не актуальной версии!(актуальная версия заливается при загрузке компьютера, тут все ок), и тут начинается самое интересное: если файл переименовать(изменить хоть 1 символ в названии, или переместить в другое место) то при его открытии откроется та самая актуальная версия, которая нужна. Если название файла вернуть обратно(или переместить его обратно в ту папку), магия начинается вновь - открывается старый файл. На машинах установлен офис хп или 2003 Подскажите куда копать, уже сломали себе весь мозг всем отделом |
Странное у вас поведение.
Цитата:
Данная работа некоем образом не сказывается на работе с файлами, которую вы описываете выше. Например при работе с тем же продуктом например с Excel открываем локальный файл - делаем в нем изменения - записываем файл (происходит изменение его атрибутов : LastAccessTime, LastWriteTime, ChangeTime и т.д.) при работе с фалами используется функция QueryBasicInformationFile. При рутинной работе с данным файлом с одним и тем же именем и при его чтении а потом записи все будет происходить как и положено, т.е. данные в файле будут содержать последние изменения и естественно LastWriteTime, ChangeTime будут равны. После записи файла CreationTime: 24.09.2010 10:45:55 LastAccessTime: 24.09.2010 18:16:03 LastWriteTime: 24.09.2010 18:16:03 ChangeTime: 24.09.2010 18:16:03 После простого просмотра изменения данных но без записи CreationTime: 24.09.2010 10:45:55 LastAccessTime: 24.09.2010 18:20:41 LastWriteTime: 24.09.2010 18:16:03 ChangeTime: 24.09.2010 18:16:03 Я бы тоже так поступил наверное если LastWriteTime = ChangeTime то изменений нет, все это для локальных файлов, без примочек для работы с SQL. Цитата:
После изменения файла (т.е. переименования файла -> А -> опять в первоначальное имя) CreationTime: 24.09.2010 10:45:55 LastAccessTime: 24.09.2010 18:38:41 LastWriteTime: 24.09.2010 18:16:03 ChangeTime: 24.09.2010 18:38:25 Чуть не забыл: была такая оптимизация - Не производить запись последнего доступа к файлам - отключалась в реестре HKLM\SYSTEM\CurrentControlSet\Control\FileSystem параметр NtfsDisableLastAccessUpdate = 1 |
Нашел решение проблемы. Во всем виновата папка VirtualStore, про нее достаточно все хорошо описано в разных источниках.
|
Время: 21:15. |
Время: 21:15.
© OSzone.net 2001-