Помните также, что клиент версии 1.5 может быть инсталлирован в тот же каталог, что и клиент 1.0, а может быть поставлен в отдельный каталог. При переустановке новой версии изучите файл README и документацию по инсталляции (размещается в корневом каталоге инсталляции Firebird и в подкаталоге /doc на сервере), чтобы выяснить, какая информация данной книги устарела.
Все клиентские приложения и промежуточное программное обеспечение должны использовать API для доступа к базам данных Firebird. API Firebird имеет обратную совместимость с API InterBase. Документ "InterBase API Guide" (Руководство no API InterBase), доступный в Borland, содержит полное описание API для разработки высокопроизводительных приложений. Более поздние возможности документированы в официальных замечаниях по релизу Firebird и в ограниченном объеме в заголовочных файлах, поставляемых с Firebird [11] Список ссылок на документальные источники см. в приложении 12.
.
Когда вы создали и заполнили данными базу данных, ее содержимое может быть доступно через клиентское приложение. Некоторые клиентские приложения - такие как инструмент Firebird isql и ряд прекрасных коммерческих и открытых инструментов администратора базы данных - предоставляют возможности интерактивной выборки данных и создания метаданных.
Любое приложение, разработанное в качестве интерфейса пользователя к одной или более базам данных Firebird, будет использовать язык запросов SQL для определения сохраняемых наборов данных и для передачи серверу операторов SQL, запрашивающих операции с данными и метаданными.
Firebird реализует множество операторов SQL, синтаксис которых имеет высокий уровень соответствия с признанным стандартом SQL-92. API Firebird предоставляет полные структуры для компоновки операторов SQL и связанных параметров и для получения приложениями результатов.
Динамические приложения клиент-сервер
Во время выполнения программы приложениям часто бывают нужны операторы SQL, которые создаются или изменяются приложениями или вводятся пользователями. Приложения обычно предоставляют пользователю списки выбора, извлекаемые из таблиц базы данных, которые используют пользователи для указания критериев поиска желаемых ими данных, и операции, которые они хотят выполнить. Программа конструирует запросы на основании выборов пользователя и управляет найденными данными.
Клиентские приложения используют динамический SQL (DSQL) для создания запросов во время выполнения. Клиент Firebird объявляет API как библиотеку функций, которые передают сложные структуры записей, формируют протокол на уровне данных для связи между приложением и сервером.
! ! !
ПРИМЕЧАНИЕ. Программирование с использованием API - большая тема. Ее описание выходит за рамки данной книги. Но поскольку динамический SQL сам не предоставляет некоторых функций, здесь описываются отдельные функции API, чтобы помочь вам понять, как драйверы и интерфейсные компоненты делают их доступными в соответствующих средах проектирования.
. ! .
Программирование с использованием API необходимо при написании драйверов для создания сценариев в таких языках, как PHP и Python, и при разработке объектно- ориентированных классов доступа к данным для объектно-ориентированных языков типа Java, C++ и Object Pascal. Приложения также могут быть написаны с прямыми вызовами функций API без посредничества драйверов. Эти приложения "прямого API" могут быть мощными, гибкими, быстро-выполняемыми, небольшого размера и с прекрасным управлением распределением памяти.
Функциональные категории ядра API
Функции API (все их имена начинаются с isc) делятся на восемь категорий.
* Соединение с базой данных и отсоединение от базы данных - например,
isc_attach_database().
* Запуск, подготовка, подтверждение и откат транзакций - например,
isc_start_transaction().
* Вызовы выполнения операторов - например, isc_dsql_describe().
* Вызовы BLOB - например, isc_biob_info().
* Вызовы для массивов - например, isc_array_get_slice().
* Безопасность базы данных - например, isc_attach_database().
* Информационные вызовы - например, isc_database_info().
* Преобразования даты и целых - например, isc encode date().
Более подробную информацию по программированию прямого API см. в "API Guide" документации по InterBase 6, опубликованной фирмой Borland.
Интерфейсы приложений при использовании API
Приложения, которые используют общие интерфейсы типа ODBC или JDBC, основаны на операторах DSQL, располагающихся ниже пользовательских интерфейсов, таких как построители запросов и др.
Читать дальше