logo
logo

Форум Переход базы в режим "Только чтение"

создать новую тему раскрыть все
Переход базы в режим "Только чтение" Денис© 01/12/2004 17:39 #написать ответ
Вчера при запуске программы (пользуюсь 196-м билдом) обнаружил, что в заголовке у меня после названия базы появилась надпись "Только для чтения". И в полном соответствии с этой надписью записать изменения в базу программа не давала. Я подумал, что это проверяется атрибут RO самого файла, но там всё было нормально. Потом стал грешить на "файловую безопасность" NTFS, так как работал в данный момент под логином жены, но на весь каталог были полные права у всех авторизированных пользователей (тем более, что перед этим нормально работало под этим логином). Так и не смог установить в чём проблема. Пришлось записать базу под новыи именем. Может автор прояснить ситуацию?
Пожалуйста. (+) Dervish 02/12/2004 23:31 #написать ответ
База данных открывается в режиме "Только чтение" в следующих случаях:
 
1. Файл базы данных не может быть открыт в режиме записи. Возможно, что на этом файле был установлен признак "только чтение". Возможно, что диск, на котором находится файл доступен только в режиме "только для чтения". Возможно, открыть файл на запись не позволяют режимы безопасности.
 
2. Открываемый файл, это файл первой версии Cash, файл, записанный в формате "CDBF".
 
3. Открываемый файл уже был открыт в другой копии программы.
 
Если немного обобщить, то алгоритм открытия файла выглядит так:
 
1. Вначале проверяется, в какой версии был записан файл. Если записано в первой, если это файл cdbf, то он открывается только для чтения.
 
2. Проверяем, возможно ли открывать файл для записи? Если нет - открываем в режиме "только для чтения".
 
3. Если файл записан во второй версии и его можно открыть на запись, то он открывается в режиме "чтение/запись и разрешить другим задачам открывать файл только для чтения".
 
Вот такой алгоритм.