Шрифт:
Интервал:
Закладка:
Язык и техники ESQL подробно не обсуждаются в данной книге. Документ "InterBase Embedded SQL Guide" ("Руководство по встроенному SQL InterBase", EmbedSQL.pdf), доступный в Borland, содержит описания, необходимые для разработки встроенных приложений Firebird.
Приложения встраиваемого сервераВ модели встраиваемого сервера не существует преобразований операторов SQL. Клиент и сервер объединяются в одну компактную динамическую библиотеку для получения независимого приложения. Приложение загружает библиотеку во время запуска точно так же, как обычное приложение Firebird будет загружать клиентскую библиотеку, функции API вызываются во время выполнения. При этом нет необходимости инсталлировать внешний сервер, потому что такой клиент внутренне связывается со своим собственным экземпляром серверного процесса Firebird. Когда приложение завершается, оно выгружает встраиваемый сервер, так что не сохраняется никакого серверного процесса.
Хотя здесь не используется и не эмулируется сетевое соединение, объединенное приложение клиент-сервер получает доступ к базе данных тем же способом, что и другие динамические приложения клиентов Firebird. Существующий код приложений, написанный для использования в обычной сети клиент-сервер, работает без каких-либо изменений со встраиваемым сервером.
Встраиваемый сервер под WindowsБиблиотека встраиваемого сервера fbembed.dll, включенная в инсталлятор Firebird 1.5 для Windows, имеет архитектуру, аналогичную Firebird SuperServer. Если вы планируете инсталлировать и использовать fbembed.dll, обратите внимание на специальные инструкции по размещению библиотек и исполняемых программ Firebird. Измененные файлы README и другие заметки обычно размещаются в каталоге /doc серверной инсталляции.
Вы можете инсталлировать встраиваемый сервер и выполнять приложения встраиваемого сервера на машине Windows, на которой также находится Суперсервер или Классический сервер Firebird, хотя удаленные клиенты не могут соединяться с базой данных, с которой работает приложение встраиваемого сервера. В релизе 1.5, где не лучший протокол IPSERVER все еще используется для связи клиента и сервера, возможно использование библиотеки встраиваемого сервера в качестве клиента других серверов. В более поздних версиях, где протокол IPSERRVER заменен на XNET, это невозможно.
Firebird 1.0.x не содержит варианта встраиваемого сервера для Windows.
Встраиваемый сервер под Linux/UNIXВстраиваемый сервер является "родным" режимом доступа локального клиента к Классическому серверу Firebird в Linux/UNIX, включая и версию Firebird 1.0.x. Библиотека встраиваемого сервера для локального доступа- libfbembed.so для Firebird 1.5 и выше и libgds.so для Firebird 1.0.x.
Как и версия IPSERVER для Windows, встроенный клиент в Linux/UNIX может так же работать, как удаленный клиент с другим Классическим сервером Firebird. При этом клиент не будет потокобезопасным (thread-safe). Для многопоточных приложений необходимо использовать обычный клиент libfbclient.so. В Firebird 1.0.x удаленный клиент поставляется в комплекте Суперсервер для Linux и двусмысленно назван libgds.so, как и встроенный клиент Классического сервера.
! ! !
ВНИМАНИЕ! Клиент Суперсервера для Linux является клиентом, поддерживающим потоки для многопоточных приложений, однако он не поддерживает выполнения нескольких потоков в одном и том же соединении с базой данных. Отдельные экземпляры соединения должны быть созданы для каждого потока.
. ! .
Сервисы API
Открытый код InterBase 6 - на основе которого был разработан Firebird - обрабатывает в первую очередь обращения к функциям интерфейса API для некоторых действий сервера, таких как копирование/восстановление, получение статистических данных и управление пользователями. Многие из этих обращений предоставляют программный интерфейс для инструментов командной строки. Небольшое количество функций сервера низкого уровня включает также некоторые функции, перекрывающие функции ядра API.
Некоторые организации разработали и распространяют сервисные компоненты, инкапсулирующие вызовы функций сервисов API из среды разработки Delphi, Kylix и C++ Builder. Большинство из них доступны для свободной загрузки с сайтов авторов или сообщества Firebird. Более подробную информацию см. в приложении 3.
В Firebird 1.0.x сервисы API и сервисные компоненты работают только с серверами типа Суперсервер. В Firebird 1.5 Classic сервисы API полностью поддерживаются только начиная с версии 1.5.2. В версиях 1.5.0 и 1.5.1 Classic поддерживаются только некоторые функции - такие как вызов модулей gbak (копирование/восстановление) и gfix (обслуживание базы данных).
Инсталляция клиентов
Инсталляция удаленных клиентов является основной частью установки ваших приложений баз данных в сети клиент-сервер. Если вы новичок в Firebird и сетях клиент- сервер, вам рекомендуется пропустить этот раздел, пока вы не получите возможность поэкспериментировать с клиентами, выполняющимися локально - на той же машине, что и сервер.
Каждой машине удаленного клиента требуется клиентская библиотека, которая соответствует версии сервера Firebird. Обычно допустимым является использование клиентской библиотеки из другой сборки (build) релиза - при условии, что номера версий совпадают. Тем не менее при обновлении сервера прочтите документацию README, поступающую с конкретным релизом, для определения того, где можно использовать более ранние клиентские версии.
Внимательно просмотрите системные пути на каждой клиентской рабочей станции, на которой вы собираетесь инсталлировать клиента Firebird, для удаления при необходимости существующих клиентских инсталляций InterBase или Firebird.
* В Firebird 1.0.x клиентские библиотеки используют те же имена и размещение, что и его двойник InterBase. Хотя возможно так установить приложения, чтобы они использовали переименованную клиентскую библиотеку, тем не менее, строго рекомендуется исключить размещение приложений Firebird 1.0.x и InterBase на одной и той же рабочей станции, если вы не уверены, что ваши приложения сконфигурированы так, чтобы отыскивать и использовать правильную библиотеку.
* Firebird 1.5 и более поздние версии под Windows может сосуществовать с InterBase и Firebird 1,0.x на сервере и клиенте. В Firebird 1.5 все еще имеют значение ручные установки, хотя с меньшими неприятностями, чем в версии 1.0.x. В версиях более поздних, чем 1.5, множество серверов и версий могут быть автоматически инсталлированы в Windows.
Инсталляция клиента Linux/UNIX
Операционные системы POSIX являются весьма своеобразными. Присутствующие в этом разделе советы должны быть полезными в качестве руководства по инсталляции клиентов для большинства разновидностей Linux и UNIX, однако это область, где сомнения являются несомненными!
1. Подключитесь к клиентской машине как пользователь root и найдите клиентскую библиотеку в инсталляции сервера:
• в Firebird 1,0.x ее имя libgds.so.0, размещение по умолчанию /usr/lib;
• в Firebird 1.5 двоичные файлы удаленного клиента libfbclient.so. 1.5.0 инсталлированы по умолчанию в /opt/firebird/lib.
! ! !
ВНИМАНИЕ! В поставке Классического сервера есть клиентская библиотека с именем libfbembed.so.1.5, которая может быть использована для встроенных приложений. Не используйте ее для удаленных клиентов.
. ! .
2. Скопируйте библиотеку в /usr/lib на клиенте и создайте символическую ссылку на нее, используя следующие команды:
• для версии 1.0x:
ln -s /usr/lib/libgds.so.0 /usr/lib/libgds.so
• для версии 1.5 (две ссылки):
In -s /usr/lib/libfbclient.so.1.5 /usr/lib/libfbclient.so.0 In -s /usr/lib/libfbclient.so.0 /usr/lib/libfbclient.so
3. Создайте каталог/opt/firebird (/opt/interbase для версии 1.0.x) на клиенте для файла сообщений и скопируйте этот файл из корневого каталога Firebird на сервере:
• для версии 1,0.x скопируйте interbase.msg в /opt/interbase/;
• для версии 1.5 и выше скопируйте firebird.msg в /opt/firebird/.
4. В системном профайле оболочки по умолчанию или вызовом setenvo создайте переменную окружения, которая позволит найти утилиту для сообщений API:
• для версии 1.0.x создайте переменную INTERBASE и свяжите ее с /opt/interbase/;
• для версии 1.5 и выше создайте переменную FIREBIRD и свяжите ее с /opt/firebird/.
Инсталляция клиента Windows
Firebird 1.0.xВ Windows клиентская библиотека всегда по умолчанию инсталлировалась в системный каталог. По умолчанию это C:WINNTsystem32 для Windows NT и 2000, C:Windowssystem32 для Windows XP и Server 2000 и C:Windows или C:Windowssystem[12] для Windows 9х и ME. В Firebird 1.0.x в качестве временной меры сохраняются старые имена и местоположение.
Использование инсталлятора FirebirdСамый простой способ инсталлировать клиента Firebird 1.0.x- это скопировать инсталлятор Firebird на компакт-диск или флэш-память и запустить его на клиентской машине, выбрав установку только клиента в диалоговом окне инсталлятора. Вы можете инсталлировать клиента с инструментами командной строки или без них. Большинству клиентов не нужны эти инструменты; не рекомендуется устанавливать их на клиентских рабочих станциях, где не требуется доступ администратора к серверу.
- Delphi. Учимся на примерах - Сергей Парижский - Программирование
- Сделай видеоигру один и не свихнись - Слава Грис - Программирование / Руководства
- Психбольница в руках пациентов - Алан Купер - Программирование