Создание символической ссылки или жесткой ссылки в XP Fat32 - PullRequest
2 голосов
/ 30 марта 2011

Я ищу способ использовать символическую ссылку или жесткую ссылку, чтобы заставить программу думать, что файл находится в определенном каталоге, когда он фактически находится в общем сетевом ресурсе. Я знаю, что символические ссылки доступны через Junction и в Vista и выше, но это компьютер с Windows XP Fat32 (Junction работает только с NTFS).

Рассматриваемая программа - HomeBase3 от AbeBooks. По словам их технических специалистов, после обновления с 2.3 до 3 все сети были отключены, и единственный способ сделать это - найти какой-то способ, чтобы файл homebase.sqlite был доступен обоим. Суть в том, что они утверждают, что изменить конфигурацию невозможно, и что программа будет искать ТОЛЬКО в папке Shared Docs \ Homebase3 \.

Я пытаюсь помочь небольшому магазину подержанных книг выяснить это, и бюджет очень, очень ограничен, и любая помощь приветствуется.

Это бесплатно, если вы хотите возиться с этим здесь: http://www.abebooks.com/homebase/software-inventory-management-system-catalog/

Им нужна версия 3.0, чтобы быть в курсе, но на самом деле нужны два компьютера для ввода и проверки запасов.

Ответы [ 2 ]

0 голосов
/ 20 февраля 2012

Другое решение может заключаться в том, чтобы сообщить WinXP, что ваша папка SharedDocs находится на вашем файловом сервере.

Существует несколько различных способов сделать это, в зависимости от того, как WinXP настроил эти пути.В зависимости от того, как HomeBase3 ищет путь SharedDocs (который имеет разные местоположения в разных версиях Windows, поэтому разработчики вряд ли будут жестко кодировать значение), может работать один или оба этих метода.

  1. Редактор реестра Windows.Вы можете запустить regedit.exe и изменить данные, хранящиеся в разделе реестра «Мой компьютер \ HKEY_LOCAL_MACHINE \ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ \ Microsoft \ Windows \ CurrentVersion \ Explorer \ Папки оболочки пользователя».Параметр «Общие документы» имеет значение по умолчанию «% ALLUSERSPROFILE% \ Documents».Вы можете изменить это значение, указав на папку на общем сетевом диске.
  2. Мой компьютер-> Свойства-> Дополнительно-> Переменные среды-> Системные переменные.Просто добавьте новую системную переменную ALLUSERSPROFILE со значением, содержащим путь к папке на общем сетевом диске.
0 голосов
/ 20 февраля 2012

В зависимости от того, сколько данных в базе данных SQLite, если вам не требуется одновременный доступ для записи в базу данных, я предлагаю вам попробовать использовать Dropbox (http://www.dropbox.com/) для репликации файла базы данных между компьютерами (и как бонус вы получаете резервную копию в облаке:)

Установите Dropbox на каждом компьютере и зарегистрируйте бесплатную учетную запись для магазина.

В расширенных настройках Dropbox вы можете настроить расположение Dropbox для папки SharedDocs.

Также в разделе «Общие настройки» включите «Синхронизация по локальной сети», поскольку это позволит быстро синхронизировать файл между компьютерами в сети независимо от скорости интернета (может даже работать без подключения к интернету, но я не уверен).

В случае, когда оба компьютера одновременно выполняют запись в базу данных, Dropbox больше не сможет поддерживать синхронизацию, но создаст «конфликтующую копию» на одном из компьютеров. Вы можете иметь скрипт мониторинга для этой ситуации и предупредить пользователя. Если это произойдет, я полагаю, что простой процедурой восстановления может быть удаление входной версии «Inventory», поскольку эти данные можно легко повторно ввести.

Очевидно, что это не будет хорошим вариантом, если хранилище требует одновременного доступа для записи в базу данных с обоих компьютеров или если база данных SQLite слишком велика.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...