Приложения

Приложения

Любое приложение, которое уже работает с полным сервером и локальным или удаленным клиентом, будет нормально работать и со встроенным сервером. Четыре детали вы должны учесть в ваших существующих приложениях:

* размещение и именование библиотеки встроенного сервера;

* жестко закодированный путь к базе данных;

* написанные вами утилиты, которые используют удаленный менеджер сервисов;

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

Размещение и переименование библиотеки

Для встроенного сервера- распространяемого как fbembed.dll- нет проблем с переименованием этой библиотеки в имя gds32.dll или fbclient.dll, или любое другое нужное имя. Для того чтобы пакет встроенного сервера был самодостаточным, эта библиотека должна находиться в том же каталоге, что и выполняемый модуль приложения, а дополнительные файлы и каталоги для функций сервера размещались так, как рекомендовано в главе 1.

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

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

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

* Поместите библиотеку- подходящим образом именованную- в системный каталог и используйте переменную пути FIREBIRD для указания корня древовидной структуры, где расположены дополнительные файлы и каталоги. Этот вариант будет работать только в системе, где не выполняется полный сервер Firebird версии 1.5 или выше. К тому же он повышает вероятность перезаписи этой библиотеки другими инсталляторами.

! ! !

ПРИМЕЧАНИЕ. Помните, что некоторые продукты Borland жестко запрограммированы на распознавание внутренних версий строк только для Borland. Даже если имя и размещение в файловой системе являются "корректными" для элементов Borland, ограничение строки версии может сделать ваше приложение несовместимым со встроенным сервером. Например, приложения, скомпилированные с использованием оригинальных компонентов InterBaseXpress (IBX), не будут соединяться cfbembed.dll без внесения изменений.

. ! .