Движение товара

Многопользовательский вариант программы "Движение товара"

Для системных администраторов и продвинутых пользователей - краткая инструкция в конце страницы.

Для тех, кто не чувствует себя крутым администратором, ниже - подробная инструкция.

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

Прим.
Если в качестве сервера будет использоваться компьютер, на котором создали и заполнили базу данных в однопользовательском режиме, требуется выполнить перенастройку в соответствии с инструкцией.

ОДНОПОЛЬЗОВАТЕЛЬСКИЙ И СЕРВЕРЕНЫЙ РЕЖИМЫ РАБОТЫ ПРОГРАММЫ НЕСОВМЕСТИМЫ!!!.

Если принудительно заставить работать БД в "смешанном режиме", база данных будет испорчена!

Пошаговая инструкция

  1. Установить выделенный сервер или выбрать один из компьютеров и назначить его сервером. На сервер установить программу сервера базы данных Firebird 2.5
    Присвоить серверу «правильное» имя (Свойства компьютера -> Имя компьютера), например, "DBServer", запомнить его или записать на бумажке. Имя компьютера или его IP-адрес потребуется на клиентах для настройки доступа к базе данных и ярлыков запуска программы.

    Прим. Если другие компьютеры не смогут увидеть на нем сервер FB, то необходимо проверить и настроить, либо отключить брандмауэр (firewall).

  2. На сервере создать каталог расположения базы данных, например,
    c:\Base\DT\
    в который скопировать "наработанную" базу данных, с которой будут работать клиенты.

    Прим. Выполнить эту операцию даже в том случае, когда база данных была создана на компьютере-сервере в однопользовательском режиме. Базу следует переместить во вновь созданный каталог.

  3. На сервере создать каталог программы, например,
    c:\DT\
    в который скопировать файлы и папки из архива многопользовательского варианта или следующие файлы из однопользовательского варианта:
    !History.txt – файл с последними изменениями программы
    Invoice.chm  - файл подсказки
    Invoice.exe  - сама программа
    Invoice.ini  - настройки программы
    \TXT  - каталог с шаблонами печати
    \ERRS - каталог, в который клиенты будут «складывать» свои сообщения об ошибках
    • назначить права на каталог программы (свойства папки, вкладка «Безопасность») обычным пользователям – по чтению, Администраторам – полный.
    • Каталогу \ERRS необходимо дать полные права (на чтение и на запись)
    • Разрешить сетевой доступ к каталогу "c:\DT\" другим пользователям локальной сети по чтению и записи. Дать имя сетевому ресурсу, например, "DT". В этом случае доступ сетевому ресурсу с других компьютеров будет иметь вид
      \\DBServer\DT
  4. Скопировать в каталог программы на сервере и на внешний носитель библиотеку (файл)
    c:\DT\fbclient.dll
    Этот файл находится в подкаталоге \BIN\ установленного сервера. Если были выбраны пути по умолчанию, это каталог
    C:\Program Files\Firebird_2_5\bin\
    Ранее было необходимо переименовывать файл клиентской библиотеки в
    GDS32.DLL
    Сейчас такой необходимости нет, но и в случае переименования всё будет работать. Необходимо только следить за тем, чтобы в папке был только один файл клиентской библиотеки.

    Прим. Файл клиентской библиотеки в однопользовательском варианте называется fbembed.dll. Этот файл и файл клиент-серверного варианта несовместимы и не взаимозаменяемы. Файл в однопользовательском варианте, фактически, исполняет функции, как клиента, так и сервера БД. Размер его больше, чем у многопользовательской клиентской библиотеки.

  5. На всех компьютерах-клиентах (в том числе и на компьютере-сервере, если он используется как клиентский компьютер) создать рабочие каталоги программы в месте, где будет разрешена запись текущему пользователю (пользователь может создавать и удалять файлы и папки), например,
    C:\DT\
    В этом каталоге программа будет хранить файл настройки, логи, протоколы ошибок и прочие данные.

    Прим. В каждой ОС для размещения данных приложений есть стандартный каталог, доступный по чтению и записи. Например, для Windows 7/8/8.1
    C:\Users\<ИмяПользователя>\AppData\Roaming\DT

  6. Ранее была рекомендация копировать файл клиентской библиотеки в рабочие папки на компьютере. Сейчас в этом нет необходимости, библиотека будет найдена в сетевой папке, где находится программа.
  7. Создать ярлык для запуска программы на компьютерах-клиентах, в котором указать:
    а) в поле «Объект» - путь к программе на сервере, например, "\\DBServer\DT\Invoice.exe"
    б) в поле «Рабочая папка» - путь к рабочему каталогу программы на компьютере, например, "C:\DT"
    (или C:\Users\<ИмяПользователя>\AppData\Roaming\DT, если разместили в стандартном каталоге)
  8. Запустить программу дважды щелкнув по созданному ярлыку. Программа запустится с сервера и, не найдя базу данных, покажет окно диалога подключения к БД. В этом окне необходимо:
    • снять, если установлен, флажок «Встроенного сервера»
    • в поле «Путь к БД/Псевдоним» ввести путь к БД, как бы он выглядел на сервере, в нашем случае
      c:\Base\DT\SHOP.FDB
      ПРИМ. Вместо пути к БД, который, в общем случае может измениться, в настройках сервера Firebird есть возможность указать псевдоним (алиас), который и использовать для доступа к БД.
    • в поле «Сервер» указываем имя сервера, в нашем случае, DBServer или его фактический IP-адрес
    • порт, если он не менялся в связи с тем, что на компьютере-сервере установлено две и более версии сервера баз данных Firebird, остается стандартным - 3050
    • логин и пароль доступа к БД – стандартные для Firebird: SYSDBA и masterkey
    В итоге, в поле «Имя базы» в нашем случае должна быть отображена строка
    "DBServer:c:\Base\DT\SHOP.FDB"
    Кнопка «Проверить» позволяет проверить наличие соединения с БД.
    Если получено подтверждение правильности настроек подключения, нажимаем «Ок».

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

В том случае, если текущая версия еще используется кем-то из клиентов и переписать файл не удается, перед копированием файл с программой старой версии можно переименовать, например в Invoice0.exe, затем на ее место скопировать новый.

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

Краткая инструкция для сисадминов.

    Настройка сервера и клиентских компьютеров:

  1. на сервере:
    • установить Firebird 2.5, Superserver.
    • создать отдельный каталог для базы данных, разместить там созданную базу;
      путь к базе должен быть указан в настройках программы;
    • создать каталог для программы и поместить в него программу из многопользовательского архива
    • создать группу пользователей программы
    • дать разрешение группы для доступа по чтению к каталогу программы и полный доступ к подкаталогу \ERRS
    • открыть сетевой доступ к каталогу с программой с именем "DT", полными правами по сетевому доступу
  2. на клиентских компьютерах:
    • создать папку пользователя программы с полным доступом
    • создать ярлык, где в качестве объекта указать программу на сервере, в качестве рабочей папки - папку пользователя
    • запустить программу через ярлык, указать в окне регистрации базы путь к ней в формате пути на сервере
    • пароль к базе стандартный для Interbase/Firebird

 

Переход с версии 1.5 на версию 2.5 сервера баз данных Firebird

Для пользователей, уже использующих многопользовательский вариант (МПВ) программы на сервере БД версии 1.5 предлагается выполнить переход одним из трех доступных вариантов.

Если у вас однопользовательский вариант (ОПВ) программы, можете переходить к конвертированию базы данных.

Замена сервера баз данных Firebird для многопользовательского варианта

Сначала нужно заменить сервер баз данных Firebird 1.5 на версию Firebird 2.5.

Прим. Все операции выполняются с правами администратора системы.

Операцию по смене версии сервера нужно производить после закрытия программы всеми пользователями.
Имеет смысл после этого остановить службу сервера Firebird. Это гарантирует целостность базы данных.

Сначала нужно деинсталлировать сервер версии 1.5 штатными средствами через панель управления или пункта деинсталляции в меню пользователя. Убедитесь, что службы сервера исчезли из списка служб. Если служба только помечена на удаление, но из списка не пропала, придется перезагрузить сервер. После перезагрузки убедитесь, что службы Firebird нет в списке служб.

После деинсталляции сервера предыдущей версии установите сервер версии 2.5.

Прим. На 64-разрядные системы рекомендуется устанавливать 64-разрядный сервер. Этот сервер содержит 32-разрядные клиентские библиотеки для совместимости.
ВНИМАНИЕ: В случае установки 64-разрядного сервера конвертирование базы первым вариантом (средствами самой программмы) не получится. Придется использовать следующие варианты.

Выбирайте все параметры по умолчанию. На странице дополнительных задач установите флажок копирования клиентской библиотеки в системный каталог.

На последнем окне по завершению установки убедитесь, что установлен флажок запуска службы сервера. Если по какой-то причине вы отказались от запуска службы, перезагрузите сервер или запустите службу вручную.

Клиентские библиотеки будут скопированы в системную папку Windows. Для использования в локальном варианте, когда программа запускается на самом сервере с консоли или в сеансе сервера терминалов, этого достаточно.

Если же программа запускается по локальной сети на компьютере клиента из "расшаренной" папки на сервере, следует 32-разрядную клиентскую библиотеку вновь установленного сервера скопировать в папку с исполняемым файлом программы. То же самое придется сделать на каждом компьютере клиентов, если программа запускается не с сервера, а из локальных папок на компьютерах клиентов.

Сервер баз данных устанавливается по умолчанию в папку "Program files" системного диска, если иное не указано при установке. Обычно это путь:
"C:\Program Files\Firebird\Firebird_2_5\"
Аналогично для 64-разрядных систем и 64-разрядного сервера, но это может быть и
"C:\Program Files (x86)\Firebird\Firebird_2_5\"
в том случае, если установлена 32-разрядная версия сервера.

Клиентскую 32-разрядную (программа 32-разрядная, а разрядность программы и клиентской библиотеки должна совпадать) библиотеку можно найти в папке \bin\ установленного 32-разрядного сервера и в папке \WOW64\ для 64-разрядного варианта сервера баз данных.

По завершении установки сервера версии 2.5 можно проверить правильность установки. Убедитесь в том, что служба сервера баз данных запущена и запустите программу. Серверы Firebird версии 1.5 и 2.5 совместимы снизу вверх, то есть, сервер баз данных большей версии должен работать с базами данных, созданными серверами меньших версий.

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

Конвертирование базы данных

После переустановки и проверки сервера можно перейти к конвертированию версии базы данных. Хотя версии серверов и совместимы, в случае "старой структуры базы данных" с ней не будут работать расширения, появившиеся в новой версии сервера. Для обеспечения совместимости потребуется конвертировать (преобразовать версию) базу данных.

При любом варианте конвертирования, операции перехода нужно выполнять в следующей последовательности:

  • закрыть программу у всех пользователей
  • остановить службу сервера Firebird (МПВ)
  • сделать резервную копию БД
  • выполнить операцию перехода с версии 1.5 на версию 2.5 одним из вариантов, описанных ниже
    (если один из вариантов завершился с ошибкой, то можно попробовать следующий)
  • в случае неудачного перехода, восстановить сохраненную базу данных из резервной копии, отправить информацию автору
  • запустить службу сервера (МПВ)
  • продолжить работу

Варианты 2 и 3 полностью автономны, то есть, для выполнения конвертирования нет необходимости установки какой либо версии сервера баз данных на компьютер, где производится конвертирование.

Вариант 1. Сжатие базы данных

Самый простой по применению вариант, так как производится самой программой без привлечения сторонних инструментов (см. Примечание). Преобразование производится при выполнении обработки сжатия базы данных.
Внимание! Конвертирование при сжатии обеспечивается только на релизе 635 и выше.

Эта операция полезна сама по себе, когда начинают наблюдаться "тормоза" в выполнении запросов и увеличивается время на формирование отчетов.

  • запустить службу сервера (МПВ, в однопользовательском варианте сервер не установлен, ничего запускать и останавливать не надо)
  • запустить программу с правами администратора
  • выполнить операцию сжатия базы данных:
    - откройте конфигуратор (Меню - Файл - Конфигурация), вкладку "Обработки"
    - выполните обработку "Сжатие базы данных"

После сжатия будет выполнено завершение работы программы.

Прим. По причине несовместимости структуры 32-разрядной БД версии 1.5 (ODS 10) c 64-разрядным сервером Firebird, конвертирование базы методом сжатия не получится, поскольку база не может быть открыта. Придется использовать другие варианты конвертирования.

Вариант 2. Конвертирование с использованием FDBConvert

Скачайте с сайта архив FDBConvertPortable.zip и распакуйте во временную папку программу конвертирования БД в версию 2.5.

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

Прим. Выражаю благодарность разработчикам платформы Гедымин за предоставленную программу.

Вариант 3. Командный файл конвертирования БД

Этот вариант для продвинутых пользователей и любителей командной строки, желающих "всё держать под контролем". Хотя этим вариантом может воспользоваться любой пользователь, способный в командной строке указать путь к базе данных.

Скачайте с сайта архив Convert_15_to_25.zip и распакуйте во временную папку содержимое архива. Запустите командный файл, передав ему в качестве параметра путь к базе данных.

    convert_15_to_25.bat [диск:][путь\]SHOP.FDB

Дождитесь окончания операции.

Прим. Прочитав командный файл можно узнать, какие операции и в какой последовательности выполняются при преобразовании версии базы данных.

Проверка результатов конвертирования базы

Запустите программу и убедитесь в успешности преобразований. Должно пропасть предупреждение о разных версиях сервера и базы данных. Также на вкладке "Значения" конфигуратора будут указаны одинаковые версии сервера и базы данных.

 

Инструкция по тестированию обновления структуры базы данных версии 44

ВНИМАНИЕ! Тем пользователям, которые давно и успешно используют программу!

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

Пошаговая инструкция

  1. Скачать с сайта архив с однопользовательской версией программы.
  2. Создать на одном из дисков компьютера папку с произвольным наименованием, например,
    c:\DT-TEST\
    в которую распаковать все файлы из архива.

    Прим. Папка должна быть доступна по чтению и записи. Если есть проблемы с созданием папки на диске, то можно создать такую папку на рабочем столе.

  3. Запустите программу из распакованного комплекта, чтобы программа создала необходимое рабочее окружение, в том числе и подпапку "\DBN\".
    После запуска программа сообщит, что не обнаружена база данных и предложит создать новую базу. Это правильное поведение программы, согласитесь на все предложения.
  4. Закройте программу, скопируйте (не переносите, именно скопируйте) во вновь созданную папку свою базу данных на место вновь созданной.

    Прим. Рабочую базу данных можно копировать только при выполнении условия полного отключения от нее всех пользователей (для многопользовательского варианта) или закрытия основной программы для однопользовательского варианта. Это же требование обязательно при выполнении операций резервного копирования базы данных.
    Рабочую базу можно взять из последней резервной копии, если она есть, и нет возможности остановить основную программу и/или обеспечить отключение всех пользователей

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

    Прим. Если после запуска программа сообщает, что не находит базу данных, это означает, что либо файла с таким именем там действительно нет, либо он недоступен по записи/чтению.
    Возможно, базу или саму программу заблокировал антивирус. Включите программу в исключения из проверки или отключите антивирус на время обновления.
    Еще одной причиной проблемы может оказаться защита папки от записи. Необходимо разрешить любые действия (чтение/изменение/запись/удаление) с папкой.

  7. Если процесс будет прерван сообщением об ошибке, то необходимо сообщить об этом автору по e-mail ivk@narod.ru, что и будет предложено программой. Адрес электронной почты будет скопирован в буфер обмена и, если вы пользуетесь он-лайн вариантом почты (через браузер), вы можете вставить адрес в строку "Кому" нового письма.

    Прим. К письму необходимо прикрепить файлы логов и ошибок программы:
    Invoice.log
    Invoice.elf

    Выполнение этого пункта позволит автору устранить ошибки и вы получите возможность обновляться на новые релизы программы.
  8. Для повторения проверки просто еще раз запустите программу.
    Если же вы хотите протестировать другую базу, удалите все файлы из папки \DBN\ и перейдите к п. 4
  9. В случае успешного прохождения обновления будет запущена программа с базой данной с обновленной структурой. Можно продолжать работу и протестировать новую структуру БД.

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

  1. При однопользовательском варианте просто переименуйте старую папку с программой и под ее именем скопируйте все файлы тестового варианта на старое место под старым именем вместе с обновленной базой данных.
  2. Ели вы используете многопользовательский вариант, удалите сервер версии 1.5, который был установлен ранее, затем установите версию 2.5 сервера БД.
  3. Переименуйте старую базу данных, положите ее в каталог резервных копий.
  4. Скачайте актуальный архив программы, замените из него файл базы данных и истории (см. п. по обновлению версии на странице загрузки), это требуется для обновления программы по старому ее расположению.
  5. На место старой базы скопируйте обновленную БД.
  6. Запустите программу, убедитесь, что ее поведение совпадает с тестовой версией.

 

Прим. При выполнении обновления программа, если файл базы данных до сих пор не обновлялся и соответствует версии Firebird 1.5, автоматически повышает версию файла базы данных до версии Firebird 2.5.
Обойтись без повышения версии сервера БД невозможно, так как все будущие релизы будут поддерживать только эту версию сервера или выше.

 

 

 

 

 

 

 

 

| © IVKSoft 2005-2015 |