Настройка X-Price для работы в многопользовательском режиме

  1. Необходимо выделить один компьютер, который будет сервером базы данных, и на котором будет установлен сервер SQL Firebird. Рекомендуем отдельный, выделенный сервер, который всегда включен. Например, подойдет (вторичный) контроллер домена или, может быть, у Вас уже есть такой компьютер, который выполняет роль сервера БД. Крайне желательно, чтобы операционная система была не ниже NT4 (т.е. Win9x для сервера совсем не подходит).
  2. На этот компьютер необходимо установить сервер SQL Firebird. http://x-price.ru/download/firebird/Firebird201.7z.exe. Устанавливать желательно именно эту версию (там уже прописаны все необходимые библиотеки, пользователи и прочая). Как установить:
    1. распаковываем архив в папку (например, c:\program files\Firebird2)
    2. заходим в подкаталог Bin, там запускаем "install_super.bat"
    3. Если компьютер использует файервол, то, вероятно, потребуется открыть порт 3050 для работы Firebird..
  3. Если Вы пользуетесь собственным установленным ранее сервером Firebird, то на текущий момент необходима версия 2.0, также необходимо скопировать в каталог UDF сервера 2 файла: xpriceudf.dll и bvudf.dll, и прописать пользователя в сервере с именем xpriceuser.
  4. С рабочей станции, куда был первоначально установлен X-Price, базу данных необходимо перенести на сервер. База находится обычно в подкаталоге Data и как правило называется (RTL|WHS)_НАЗВАНИЕ_ОРГАНИЗАЦИИ.FDB, например, RTL_SUPERAPTEKA.FDB или WHS_SUPERDISTR.FDB. Внимание! Работа двух баз одновременно невозможна и приведет к неактуальным данным в обеих базах. То есть, если база перенесена на сервер, на рабочей станции ее надо стереть (или заархивировать), другими словами, сделать крайне маловероятным случайное к ней подключение.
  5. Содержимое каталога X-Price (за исключением самой базы данных) необходимо скопировать на те рабочие станции, где необходим доступ к системе X-Price.
  6. На ВСЕХ рабочих станциях необходимо прописать новое подключение к базе данных. Как это сделать: после запуска программы появится окно "Вход в систему". Нужно нажать кнопку "Доп-но" и заполнить следующие поля:
    1. Сервер: здесь пишем имя компьютера, который выполняет роль сервера БД. Например: Server. Если мы работаем сейчас на самом сервере, то можно прописать localhost. Как только программа проверит доступность сервера, имя компьютера будет написано жирным шрифтом.
    2. База данных: пишем полный ЛОКАЛЬНЫЙ путь к базе данных. Например, если Вы скопировали папку Data в папку XPRICE диска D сервера, то путь будет следующий: D:\XPRICE\DATA\БАЗА_ДАННЫХ.FDB.
    3. Клиентская библиотека: для доступа к серверу БД: можно продолжать пользоваться библиотекой fbembed.dll, в случае, когда указывается имя сервера в пункте (а), она будет работать как клиентская библиотека, но можно скопировать с сервера файл fbclient.dll.
    4. Порт: можно ничего не указывать. По-умолчанию используется 3050. Если сервер настроен на какой-другой порт, то здесь нужно указать его значение. Или имя сервиса, если используется нестандартный сервис.
    5. Примечание по пунктам (b) и (c):
      1. (b) - существует альтернативный и более удобный способ задать путь к файлу БД. Для этого необходимо в каталоге, где установлен сервер FIREBIRD, найти файл "aliases.conf" и открыть его на редактирование в Блокноте или еще каком текстовом редакторе. Теперь добавим строку след. вида: xprice = D:\XPRICE\DATA\БАЗА_ДАННЫХ.FDB. После этого на рабочих местах можно будет не писать путь как D:\XPRICE\DATA\БАЗА_ДАННЫХ.FDB, а просто написать xprice. Firebird, когда к нему поступит запрос на подключение, проверит файл aliases.conf и найдет файл D:\XPRICE\DATA\БАЗА_ДАННЫХ.FDB.
      2. (с) - fbembed.dll - это библиотека, которая представляет собой полнофункциональный однопользовательский сервер. Когда запрос идет к удаленному серверу, она работает именно как библиотека доступа, т.е. перенаправляет все команды серверу по протоколу TCP/IP. Если же файл локальный, то сама выполняет работу сервера. Благодаря этому мы для однопользовательской версии можем обойтись без установки сервера. Но он больше обычной библиотеки доступа на 1,5Мб. Поэтому желательно ее заменить на fbclient.dll из подпапки Bin папки сервера FireBird. Перед тем, как расставлять программу по всем рабочим местам, мы советуем полностью настроить ее на одной рабочей станции. Тогда на другие можно будет просто скопировать, никаких доп. изменений не потребуется.