Рефераты. Диплом Программная система Аттестации ИТ-специалистов p> В состав стандартной поставки Delphi 7.0 включен локальный сервер
Interbase, который позволяет проводить в Delphi 7.0 автономную разработку приложений с поддержкой SQL, готовых к переносу в среду клиент/сервер. Он представляет собой облегченный вариант Interbase Workgroup Server 4.0.

1.3 Ядро Borland Database Engine (BDE)

Как уже отмечалось, использование Delphi 7.0 позволяет разработчику создавать самые разнообразные приложения для работы с базами данных. Среди них могут быть как простейшие программки, открывающие два-три поля, так и мощные приложения, предназначенные для работы в системах клиент/сервер.
Такая универсальность достигается за счет использования ядра BDE. В основе
BDE лежит технология IDAPI, которая включает IDAPI-инфраструктуру и обработчик запросов [2].

Использование BDE позволяет приложению осуществлять доступ к данным не только локальных (Paradox и dBase), но и удаленных баз данных, расположенных на SQL-серверах (Interbase, Sybase, Oracle, Informix, MS SQL
Server), а также в любых форматах, доступных через драйверы ODBC (см. рис.
1.2). BDE поддерживает многопользовательский доступ к гетерогенным базам данных, связанные запросы к нескольким разнотипным базам данных одновременно, прямой перенос данных из одного формата в другой.
Программисты могут обращаться к функциям BDE с помощью языков программирования Borland C++, Borland Pascal, Visual C++, а также любых других компиляторов С и C++ для Windows.

Архитектура BDEUDAPI основана на драйверах. Для каждого источника данных существует свой драйвер, который поддерживает не только последнюю версию источника, но и все предыдущие версии. Именно через такие драйверы осуществляется связывание и все обращения к данным. BDE поддерживает два класса драйверов. К первому классу относятся драйверы, обслуживающие SQL- серверы, причем каждый из этих серверов может использовать собственный диалект SQL. Во второй класс входят драйверы для локальных баз данных.

Архитектура BDEMDAPI является объектно-ориентированной, поэтому ее инфраструктура легко расширяется и обобщается. В комплекте BDE содержатся более пятидесяти языковых драйверов, которые используются всеми драйверами доступа к данным и всеми общими обработчиками и сортировщиками запросов.
Инфраструктура BDEUDAPI предоставляет обширный набор инструментов, которые могут использоваться всеми драйверами.

Диспетчер памяти предоставляет дополнительные возможности по управлению памятью. В отладочном режиме этот модуль помечает, трассирует и разрешает все попытки использовать память.

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

Сортировщик автоматически оптимизирует процесс использования доступной памяти и вызывается через соответствующую функцию BDE. Он использует установленный языковый драйвер для работы с различными наборами символов.

Кэш для данных BLOB позволяет производить чтение/запись произвольного места в бинарном объекте, при переполнении содержимое кэша автоматически записывается в разделяемый файл. Одновременно может быть открыто любое количество BLOB.

Генератор SQL транслирует запрос в формате QBE в эквивалентный запрос
SQL, если он предназначен SQL-серверу.

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

Функции пакетной обработки включают копирование данных из одного формата в другой, переименование таблиц и т. д.

Модуль Xlate оптимизирует процесс преобразования форматов данных.

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

Модуль поддержки SQL-драйверов используется при создании любых SQL- драйверов.

Конфигурационный диспетчер участвует в настройке среды BDE при начальной загрузке.

Системный диспетчер управляет всеми ресурсами системного уровня. Он отвечает за загрузку драйверов, отслеживание открытых баз данных, курсоров и контекста каждого приложения.

Общий обработчик запросов поддерживает и SQL и QBE. Он построен с использованием технологии курсоров BDE и поэтому может работать с любым источником данных. Если запрос может быть выполнен напрямую, то он сразу передается серверу. Запрос QBE предварительно транслируется в SQL.

Технология Idapter является составной частью BDE и предназначена для организации доступа к базам данных, используя стандартный программный интерфейс драйверов Borland SQL Links. Idapter транслирует вызовы функций интерфейса IDAPI в вызовы стандартных методов интерфейса ODBC, что позволяет использовать практически любой драйвер стандарта ODBC в режиме драйвера IDAPI. При этом могут использоваться любые функции интерфейса
IDAPI. Технология Idapter существенно увеличивает число доступных через BDE форматов данных. Поставляется совместно с IDAPI, как отдельная динамическая библиотека.


1.4 Пакет Borland SQL Links for Windows

Пакет Borland SQL Links for Windows предназначен для использования теми приложениями, работающими с BDE, которым необходим доступ и к локальным базам данных и к удаленным SQL-серверам. После инсталляции соответствующего драйвера SQL Links и создания необходимого псевдонима приложение получает доступ к базам данных необходимого SQL-сервера. Место SQL Links в механизме доступа к базам данных из приложений Delphi 7.0 показано на рисунке 4.7.

Установленный драйвер выполняет работу по соединению с нужным SQL- сервером, переводу запросов приложения в соответствующий диалект SQL и передаче запроса базе данных. Ответ базы данных снова преобразуется им к виду, воспринимаемому приложением.

Для установки параметров процесса связывания приложения с требуемым сервером SQL используется утилита конфигурации BDE. Естественно, что перед выполнением такой настройки необходимо иметь инсталлированный SQL Links с установленным драйвером для нужного сервера. Все настраиваемые параметры сосредоточены на странице Drivers утилиты конфигурации (см. рисунок 1.2).

Рис. 1.2. Использование драйвера SQL Links приложением

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

Ниже будут рассмотрены общие для всех драйверов SQL Links параметры.

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

BDE и нажав кнопку Help.

DLL — определяет имя динамической библиотеки SQL Links для драйвера.

Driver Flags — внутренний флаг, изменять этот параметр не рекомендуется.

LangDriver — задает языковый драйвер, который применяется для манипулирования данными, полученными при помощи драйвера SQL Links. Поле ввода этого параметра содержит список всех доступных языковых драйверов.
Если выбранный языковый драйвер определен также и в псевдониме приложения, то он используется для управления любыми данными, полученными от сервера.
Языковый драйвер используется для преобразования данных, если приложение и сервер используют разные кодовые страницы. В противном случае все национальные символы превратятся в абракадабру. Если необходимый языковый драйвер отсутствует, можно использовать параметр SQLQRYMODE для отмены преобразования данных по правилам базы данных.

Open Mode — определяет режим, в котором SQL Links открывает доступ к базе данных. Возможные значения: "Чтение3апись" и "Только для чтения". Режим
"Только для чтения" не работает при использовании прямых запросов.

Schema Cache Size — задает число таблиц базы данных, чья структурная информация кэшируется. Возможные значения: 0—32 (по умолчанию 8).

Schema Cache Time — задает время нахождения структурной информации о таблицах в кэше. Возможные значения: -1 (по умолчанию) — до закрытия базы данных; 0 — информация в кэше не размещается; 1-214748347 — число секунд.

Server Name — содержит имя целевого сервера. Для серверов Interbase обязательно надо задавать маршрут, как это показано в примере: servername/usr/gds/directoryname/databasename/gdb.

SQLPASSTHRUMODE — определяет режим использования прямых и локальных запросов при соединении через один псевдоним: NOT SHARED запрещает одновременное использование прямых и локальных запросов;

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

Предопределенное значение для серверов Informix — SHARED AUTOCOMMIT, для остальных серверов SQL — NOT SHARED. Режимы SHARED AUTOCOMMIT и SHARED
NOAUTOCOMMIT не поддерживаются некоторыми предложениями прямых запросов, в этом случае следует использовать явное управление транзакциями через функции приложения.

SQLQRYMODE — определяет режим выполнения запросов, возможные значения приведены в таблице.

Таблица 1.1 Режимы выполнения запросов.
|Значение |Режим |Комментарий |
|NULL |Сервер-локальный |Запрос направляется сначала на сервер, |
| | |затем, при невозможности выполнения, |
| | |выполняется локально |
|SERVER |Только сервер |Запрос направляется только на сервер, в |
| | |случае невозможности выполнения, отменяется|
|LOCAL |Только локальный |Запрос выполняется исключительно локально |

Значение по умолчанию — NULL. На получаемый результат запросов может влиять установленный языковый драйвер, если локальные базы данных и базы
SQL имеют различные кодовые страницы (см. выше). Для устранения подобных ошибок необходимо установить для параметра значение SERVER, блокируя таким образом, выполнение запросов в локальных базах данных.

Type определяет тип используемого сервера. Значение SERVER определяет использование SQL-сервера. Значение FILE определяет использование обычных серверов, основанных на файловой системе.

User Name — задает имя пользователя для доступа к серверу.

Version — версия драйвера SQL Links.

Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.