:: Архив конференции по VFP до 2005 года
Правильное хранение файлов
Каратаев
Автор

Сообщений: 3974
Откуда: Алматы
Дата регистрации: 04.12.2001
Есть прога, пользователь кликает по кнопке - выбирает на диске файл (doc, rtf, xls, html, txt), который копируется в определенную папку программы, а его параметры (имя, тип и т.д.) записываются в БД.
Теперь собственно вопрос: файл копируется как есть, т.е. с тем именем, с каким он был когда-то создан. Встречаются и такие:
"начальник информационно-аналитического отдела.doc",
"0008 совместная работа маркетингового и дизайнерского отделов (инструкция).doc"
ну и т.п.
Вот сомнение у меня - правильно ли это?
Может писать в БД эти длинные имена + код документа "00001","00002" + тип "doc", "xls","txt" и сохранять файлы с этими именами "00001.doc","00002.xls"?
На этапе разработки никаких проблем с длинными именами не возникает, но потом?
Или не имеет разницы? Как есть так и хранить?




------------------
Никогда не бывает настолько плохо, чтобы не могло быть еще хуже.
Ratings: 0 negative/0 positive
Re: Правильное хранение файлов
Vladimir_Knyr

Сообщений: 1711
Откуда: г. Енисейск
Дата регистрации: 15.12.2003
Hi Александр!

Цитата:
Может писать в БД эти длинные имена + код документа "00001","00002" + тип "doc", "xls","txt" и сохранять файлы с этими именами "00001.doc","00002.xls"

у такого варианта есть уже как минимум два преимущества перед первым

1) короткие имена можно из - под DOSа легко копирнуть без потери длины имен
2) исключение дублей имени файлов (т.е. имя одно!хотя внутренности разные относительно диска)




------------------
хороший код работать будет и обязан, а плохой не жалко.
Ratings: 0 negative/0 positive
Re: Правильное хранение файлов
JS

Сообщений: 12264
Откуда: Эстония
Дата регистрации: 04.09.2000
Добавлю к перечисленным преимуществам еще одно:
при таком подходе не будет проблем с копированием на CD.
которые могут возникнуть при использовании упомянутых длинных имен.




------------------
Knowledge is better than ignorance!
Website: juri.foxhelp.eu
Ratings: 0 negative/0 positive
Re: Правильное хранение файлов
Каратаев
Автор

Сообщений: 3974
Откуда: Алматы
Дата регистрации: 04.12.2001
Во, спасибо!А то нутром чуял, а объясниться сам с собой не мог http://smailiki.h10.ru/smile/010.gif




------------------
Никогда не бывает настолько плохо, чтобы не могло быть еще хуже.
Ratings: 0 negative/0 positive
Re: Правильное хранение файлов
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Hi Каратаев!

Но есть и минусы - например если по каким-то причинам база накроется, то разобраться в куче 001, 002, 003 - весьма и весьма сложно будет, тогда как сохранив "оригинальные" имена такой проблемы как-бы и нету А фоксу в принципе безразлично как они называться будут - лишь бы за ограничения файловой системы не вылазило (о чём и говорили).




------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: Правильное хранение файлов
Каратаев
Автор

Сообщений: 3974
Откуда: Алматы
Дата регистрации: 04.12.2001
Цитата:
если по каким-то причинам база накроется
В принципе да, но ведь для этого и создается архив базы. Так, что это не так страшно. Сложнее другое - прога и база будут стоять не только в головном офисе, но и, естественно, в филиалах. Предстоит сложная репликация - в разных подразделениях со временем могут появится документы с одним и тем же кодом, но разные по содержанию. Причем репликация в обе стороны... В принципе сделать-то я ее сделаю, но стоит ли заморачиваться? Может действительно хранить реальные имена файлов как есть?




------------------
Никогда не бывает настолько плохо, чтобы не могло быть еще хуже.
Ratings: 0 negative/0 positive
Re: Правильное хранение файлов
Владимир Максимов

Сообщений: 14095
Откуда: Москва
Дата регистрации: 02.09.2000
Если появляются версии одноименных файлов, то однозначно надо переименовывать! Ведь наверняка потребуется хранить все версии.

Если оставить имена "как есть", то единственное решение - раскидывать по дополнительным директориям. Если переименовывать, то просто дополнительный признак в таблице-оглавлении - номер версии.

А имя файла придется хранить при любом раскладе. И падение таблицы, даже в отстутствии перименований, тоже не подарок. Ведь теряется вся служебная информация по "ведению" файла (откуда и когда пришел, что успели с ним сделать и т.п.)

Кстати, не думаю, что восстановление имени файла в случае самого факта наличия этого файла такая уж сложная проблема. Вполне можно сообразить по содержимому. В конце концов, можно принять внутренний стандарт обязующий заполнять "Свойства документа" (Файл - Свойства), если они в формате Word или Excel (или самому автоматом заполнять при приеме документа), или в шапке документа дублировать его название (для TXT)
Ratings: 0 negative/0 positive
Re: Правильное хранение файлов
Каратаев
Автор

Сообщений: 3974
Откуда: Алматы
Дата регистрации: 04.12.2001
Владимир
Цитата:
Если появляются версии одноименных файлов, то однозначно надо
переименовывать! Ведь наверняка потребуется хранить все версии
Наверное я неправильно сформулировал ситуацию. Это не разные версии одного и
того-же файла. Это разные файлы по содержанию.
Вот установлена база в конторе и в филиалах...
На момент установки имеется n-ное количество документов. При добавлении нового документа его имя пишется в ТХТ-поле, формируется внутреннее имя и с этим внутренним именем документ вставляется в базу. Внутреннее имя формируется по
след. алгоритму - в отдельно табличке есть число, соответствующее следующему номеру документа. При добавлении это число считывается, преобразовывается в символьную строку, дополненную нулями слева, а само число в табличке увеличивается на единицу.
Теперь допустим, что на момент установки в базе 200 документов. Число в табличке - 201. Что в конторе, что в любом филиале вставка нового документа породит внутреннее имя типа "000201.doc". Вот я о чем... И это приводит к заморочке с репликацией. Мне ведь надо не только в контору данные из филиалов подгрузить, но и вернуть обобщенную инфу в филиалы, да так, чтоб их новые наработки не исчезли.
Вот пока писал - пришла мысль, а может ко внутреннему имени документа добавлять код филиала, ну что-то вроде:
"00_00201.doc" - головной офис
"01_00201.doc" - филиал № 1
"02_00201.doc" - филиал № 2
Тогда и проблем не будет? Или код пользователя, например. Он у меня 3-х значный...




------------------
Никогда не бывает настолько плохо, чтобы не могло быть еще хуже.
Ratings: 0 negative/0 positive
Re: Правильное хранение файлов
IGOR_SMIRNOVSKY

Сообщений: 132
Откуда: СПб
Дата регистрации: 02.03.2005
Зачем код к имени добавлять ?
Просто новое поле с кодом, а в индекс добавишь.




------------------
дураком помру
Ratings: 0 negative/0 positive
Re: Правильное хранение файлов
DmGr

Сообщений: 850
Дата регистрации: 21.01.2002
А может быть, раз это архивная база документов, запаковывать исходные документы архиватором с новым уникальным именем
Получаем.
1. Уникальное имя
2. Исходное имя - внутри архива
3. Уменьшение размера файла
4. Небольшое затруднение при работе с архивами.
Ratings: 0 negative/0 positive


Извините, но у вас нет прав для того, чтобы оставлять сообщения в этом форуме.

On-line: 8 (Гостей: 8)

© 2000-2024 Fox Club 
Яндекс.Метрика