Страница 1 из 1

Организация ссылок в файловой системе

СообщениеДобавлено: 17 янв 2003, 14:07
Svetlana
Подскажите, кто может. Возможно ли в Нетвари организовать что-то вроде ссылок в файловой системе, чтобы программа обращаясь в файлу в одном каталоге, перенаправлялась к файлу с таким же именем в другом каталоге? Сделать это надо исключительно средствами операционной системы.
И попутно вопрос к знатокам прочих операционок. Есть ли такие средства в других операционках?
Я конечно покопаюсь в доках, но вопрос требует быстрого ответа,
либо да, либо нет.
Заранее благодарю за помощь.

СообщениеДобавлено: 17 янв 2003, 14:40
Андрей Тр. aka RH
Ну, если быстрого ответа - нет, в UNIX'e, насколько я помню - да ( link, если не ошибаюсь ).

СообщениеДобавлено: 17 янв 2003, 14:41
Юрий Бондаренко
B юниксах есть точно, см. man ln

СообщениеДобавлено: 17 янв 2003, 14:51
Svetlana
Спасибо за быстрый ответ. С UNIXом понятно.
А как в ВИНДе 2000?
Пристаю не от праздного любопытсва. Опасаюсь, что из-за этой, на первый взгляд, ерунды придется серьезно думать о переводе прикладной задачи с любимой Нетвари на другую операционку.
Очень не хочется.

А что за ерунда, не подскажете?

СообщениеДобавлено: 17 янв 2003, 14:55
Андрей Фисенко
Может, мы тут ее совместно обмозгуем?

СообщениеДобавлено: 17 янв 2003, 15:54
Svetlana
Обмозговать я не возражаю.
Есть бухгалтерская программа. В ней прописывается путь к БД и справочникам, которые должны лежать в одном каталоге.
В связи с реорганизацией предприятие делится на несколько юридических единиц, для каждой из которых будет создан отдельный каталог в указанной программе для БД и справочников.
Проблема в том, что справочники должны быть едиными для всех предприятий. Средствами самой программы сделать ничего нельзя, она довольно тупая - для каждого предприятия отдельный каталог и там должно лежать все. Вот и возникла идея. Программа лезет в указанный в настройках каталог к справочнику, а там ссылка на реальный справочник, единый для всех. Может быть немного сумбурно объяснила. Идея не моя. А дальше мой начальник прослышал, что в Винде эта возможность есть.
Перевод досовской задачи, с которой работает 30 пользователей и которой нужен файл-сервер и больше ничего, на Винды - по-моему утопия. Придется бодаться.
Если что-то подскажете, буду признательна.

файловые линки в Win2K

СообщениеДобавлено: 17 янв 2003, 16:11
botler
В Win 2K есть такая штука как HardLink:
A hard link saves you from maintaining multiple (but needed) copies of the same file, making the system responsible for managing various path names to address a single physical content. This greatly simplifies your work and saves valuable disk space. Furthermore, hard links, as system-level shortcuts, always point to the right target file—no matter if you rename or move it. Because the link is stored at the file system level, all changes apply automatically and transparently. It's worth noting that hard links must be created within the same NTFS volume. You cannot have a hard link on, say, drive C: pointing to a file on drive D:.

If it sounds more familiar, think of a hard link as an alias for a file. You could use any alias to access it and the file gets deleted only when you delete all of its aliases. (Aliases act like a reference count.) Because hard links are aliases, synchronizing the content is simply a non-issue.

CreateHardLink() is the API function used to create hard links. Its prototype looks like this:

BOOL CreateHardLink(
LPCTSTR lpFileName,
LPCTSTR lpExistingFileName,
LPSECURITY_ATTRIBUTES lpSecurityAttributes
);

Для более подробной информации см. MSDN :D

Навскидку.

СообщениеДобавлено: 17 янв 2003, 18:22
Андрей Фисенко
Если в программе где-то в ini-файле (да, впрочем, хоть где), этот файл можно "обновлять" (distribute) пользователям определенного контекста с помощью ZENworks for Desktops.

Да, несколько замечаний:
- в правилах форума четко написано, КАК ИМЕННО нужно именовать себя в форуме.
- напишите версию Нетвари.

Честно говоря, все эти фичи у мякоти очень сомнительны.

СообщениеДобавлено: 19 янв 2003, 00:09
Boris Morozov
Особенно настораживает, что нет утилитки для этого, а надо юзать ихнее API и программировать. А с более каличным API в плане совместимости и документации, мне лично не приходилось сталкиваться. К сожалению приходится. И кстати, а как решается проблема совместной работы пользователей? Что за база, на DBF клонах или как? И как будет выполняться Lock на этих самых hard линках, если это файл-серверная база. Опять таки непонятно, почему такую фичу загнали на уровень файловой системы, в принципе можно было доработать файловый Open и перекинуть на нужное место. Если вы имеете доступ к исходным текстам и/или разработчику, что по идее должно быть, так как бухгалтерская программа без сопровождения - это нонсенс, то проще их попросить сделать простую доработку, чтобы можно было сделать в конфигурационном файле указание явного пути для некоторых справочников и закрыть вопрос. Для этого совсем не надо переписывать на виндовс программу.
У нас например такое автоматом прошито во всех программах и юзер может задать такую конструкцию.

[DataBase Location]
DDF_NSI=k:\wnedren\winnsi\DDFnew\NSI\
DDF_MAS=k:\wnedren\winnsi\DDFnew\mas\
NSI=k:\wnedren\Kadr\data\NSI\
MAS=k:\wnedren\Kadr\data\mas\

[BTR Custom Location]
$0950$1.btr=D:\xxxxxx\950.btr

Здесь нет ограничений - основная база на сети, а что-то на локальном диске.

Реализация поддержки такого типа элементарно проста. Если они позволяют настраивать пути, то наверное это происходит через одну подпрограмму, в которую надо дописать десяток строчек кода.

И помните, плохо написанная программа положит самое классное железо и никакая оптимизация и навороченные фичи не спасут.

По поводу шефа....

СообщениеДобавлено: 21 янв 2003, 13:58
Кулиш Сергей
Для Boris Morozov... Честно говоря, все эти фичи у мякоти очень сомнительны...

И еще как сомнительны... С винбовыми рабочими станциями коекак с горем пополам работал предложенный Вами вариант, а вот с Досовыми клиентами ... победить не смогли...

Светлана, Вы сталкнулись с той же проблеммой что и я несколько лет назад. Я Вас прекрасно понимаю и сочуствую...
Для переубеждения шефа на счет перехода на другую операционку собрали временный тесовый сервер на WinNT и на Linux.
С Linux-ом как бы все заработало, но не так как хотелось, да и шеф был яростным противником Linux (наверное боялся... :-), поэтому от этого варианта пришлось отказаться.
С WinNT было все очень просто, но вот оставались клиенты под ДОС!
А что делать с ними?
И после 2-х недельных "веселий" шеф утвердил вариант заплатить денгу конторе, которая когда то разработала это ПО, за внесение изменений в программы. (кстати получилось на много дешевле, если бы мы начали переход на другую сетевую ОС).
Суть изменений заключался как раз в добавлении конфигурационного файла...

Re: Навскидку.

СообщениеДобавлено: 21 янв 2003, 14:32
Svetlana
Андрей Фисенко писал(а):Если в программе где-то в ini-файле (да, впрочем, хоть где), этот файл можно "обновлять" (distribute) пользователям определенного контекста с помощью ZENworks for Desktops.

Да, несколько замечаний:
- в правилах форума четко написано, КАК ИМЕННО нужно именовать себя в форуме.
- напишите версию Нетвари.


Замечания учла. Нетварь 4.2.
Бух.программа, о которой я писала - БЭСТ4.
Я не очень поняла ответ. Поясните, если не трудно.

СообщениеДобавлено: 21 янв 2003, 14:36
Svetlana
Всем большое спасибо за ответ.
Речь идет о бух.программе БЭСТ4.
В принципе все для себя уяснила.
Правда проблема осталась, поскольку
в Нетвари ничего сделать нельзя.

СообщениеДобавлено: 21 янв 2003, 16:10
Кулиш Сергей
Светочка! Так чтож ты раньше молчала про Бест...
Есть там такая настройка... Точно знаю что есть!
Потому что на одной шабашке в магазине программер который настраивал Бест это делал...
Но вот как он это делал я не знаю...
Если найду его координаты, то спрошу.
Кинь мне письмецо с темой на ящик snake@kuban.net