Технология dbExpress Сервер баз данных Сервер приложения Клиент многозвенного распределенного приложения

Фактически стандартным языком доступа к базам данных в настоящее время стал язык SQL (Structured Query Language). Язык SQL оперирует терминами, несколько отличающимися от терминов реляционной теории, например, вместо "отношений" используются "таблицы", вместо "кортежей" - "строки", вместо "атрибутов" - "колонки" или "столбцы". Стандарт языка SQL, хотя и основан на реляционной теории, но во многих местах отходит он нее.

Псевдонимы баз данных и настройка ВDЕ

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

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

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

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

Для управления псевдонимами баз данных, настройки стандартных и дополнительных драйверов в составе BDE имеется специальная утилита — BDE Administrator (исполняемый файл BDEADMIN.EXE). Стандартная конфигурация BDE сохраняется в файле IDAPI.CFG. При необходимости текущую конфигурацию можно сохранить в новом файле с расширением cfg или загрузить заново при помощи команд Save As Configuration и Open Configuration из меню Object.

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

Страница Databases (рис. 16.2) содержит иерархическое дерево, в узлах которого расположены установленные в системе на данный момент псевдонимы БД. При выборе какого-либо псевдонима в правой части панели появляется путь к файлам базы данных и перечень параметров драйвера, соответствующего псевдониму, которые можно настраивать вручную.

Рис. 16.2. Окно утилиты BDE Administrator с открытой страницей Databases

Рис. 16.3. Окно утилиты BDE Administrator с открытой страницей Configuration

Страница Configuration (рис. 16.3) используется для настройки параметров драйверов BDE, предназначенных для обеспечения доступа к локальным СУБД и серверам БД. Также здесь определяется системная конфигурация BDE, которая включает параметры числовых форматов, форматов даты и времени. Вся информация на этой странице также структурирована в виде иерархического дерева.

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

Сохранение изменений осуществляется при помощи команд меню Object, всплывающего меню или при перемещении на другой псевдоним.

Для создания нового псевдонима требуется выбрать команду New из меню Object или из всплывающего меню узла Databases на одноименной странице. Затем в появившемся простом диалоге задается необходимый драйвер.

Отметим, что один из четырех стандартных локальных драйверов устанавливается на странице Configuration в качестве предопределенного, поэтому в списке он доступен под названием STANDARD, а остальные не видны вообще. Из драйверов SQL Links доступны те, которые были установлены при инсталляции Delphi или позже.

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

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

Для четырех локальных драйверов список параметров в правой части панели утилиты на странице Definition ограничивается параметрами стандартного драйвера (STANDARD), подробная настройка для каждого драйвера осуществляется на странице Configuration.

Назначение параметров локальных драйверов BDE (Paradox, dBASE, FoxPro, ASCII) представлено в табл. 16.2.

Таблица 16.2. Параметры драйверов BDE для локальных баз данных

Параметр

 Назначение

STANDARD

DEFAULT DRIVER

 Задает тип конкретного локального драйвера (Paradox, dBASE, FoxPro, ASCII)

ENABLE BCD

i Определяет способ представления вещественных чисел. При значении True такие числа преобразуются в формат BCD (Binary Coded Decimals— десятичные с двоичным кодированием). Точность составляет 20 знаков после запятой

PATH

 Указывает путь к файлам базы данных

PARADOX

NET DIR

Указывает путь к файлу обеспечения сетевого доступа  к БД PDOXUSRS.NET. Драйвер приложения, которое  работает с БД локально, должен указывать на этот файл, расположенный на том же компьютере. Драйвер приложения, обращающегося к БД по сети, должен указывать на подключенный сетевой диск с этим файлом

VERSION

Нередактируемая информация о версии драйвера

TYPE

Тип СУБД. Для Paradox имеет значение FILE. Только для чтения

LANGDRIVER

 Определяет драйвер языковой поддержки (используйте  драйвер Paradox Cyrr 866)

BLOCK SIZE

 Задает размер блоков дискового пространства для хранения записей, кратно 1024

FILL FACTOR

 Определяет процент заполнения блока дискового пространства при хранении индексов, по умолчанию 95%

LEVEL

 Задает формат временной таблицы в памяти: 

  •   3 — совместим с Paradox 3.5 и ниже; 

  •  4 — Paradox 4.0; 

  •  5 — Paradox 5.0; 

  •  7 - Paradox для WIN32

STRICTINTEGRTY

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

DBASE

VERSION

Нередактируемая информация о версии драйвера

TYPE

Тип СУБД. Для dBASE имеет значение FILE. Только для чтения

LANGDRIVER

Определяет драйвер языковой поддержки (используйте драйвер dBASE RUS ср866)

LEVEL

Задает формат таблиц. Значение соответствует номеру  версии СУБД

MDX BLOCK SIZE

Размер блоков для файлов с расширением mdx, кратно 51 2

MEMO FILE BLOCK SIZE

Размер блоков для файлов с данными типа Memo (pacширение dbt), кратно 512

FOXPRO

VERSION

 Нередактируемая информация о версии драйвера

TYPE

Тип СУБД. Для FoxPro имеет значение FILE. Только для  чтения

LANGDRIVER

Определяет драйвер языковой поддержки

LEVEL

Имеет значение 25

Примечание 

Драйвер текстовых файлов ASCIIDRV имеет параметры стандартного драйвера.

Назначение параметров драйверов SQL Links для серверов SQL представлено в табл. 16.3. Сначала приведены параметры, которые встречаются в двух и более драйверах, затем уникальные для каждого драйвера параметры. Драйверы для серверов InterBase и Sybase не представлены, т. к. содержат только общие для двух серверов параметры.

Таблица 16.3. Параметры драйверов ВОЕ для серверов SQL

Параметр

Назначение

Общие параметры (встречаются как минимум у двух драйверов)

VERSION

Нередактируемая информация о версии драйвера

TYPE

Тип СУБД. Только для чтения

DLL

Название библиотеки динамического связывания SQL Links для 16-разрядного драйвера. Только для чтения

DLL32

Название библиотеки динамического связывания SQL Links для 32-разрядного драйвера. Только для чтения

DRIVER FLAGS

Используется только при необходимости применения старых версий драйвера, где не поддерживается уровень изоляции транзакций Read Committed. Для этого необходимо установить значение 512

TRACE MODE

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

BATCH COUNT

Задает число записей, модифицируемых в одном пакете при фиксации транзакций

BLOB SIZE

Размер кэша для данных типа BLOB. Диапазон от 32К до 1000К

BLOBS TO CACHE

Задает число кэшируемых записей с данными BLOB. Диапазон от 64 до 65 536

ENABLE BCD

Определяет способ представления вещественных чисел. При значении True такие числа преобразуются в формат BCD (Binary Coded Decimals — десятичные с двоичным кодированием), который позволяет округлять погрешности высших разрядов дробной части числа. Изменение параметра для псевдонима работает, только если параметр драйвера на странице Configuration не пустой

ENABLE SCHEMA CACHE

Определяет режим кэширования структуры данных. При значении True структура таблиц БД кэшируется локально в каталоге, задаваемом параметром SCHEMA CACHE DIR. Рекомендуется использовать только для баз данных с постоянной структурой

LANGDRIVER

Определяет драйвер языковой поддержки

MAX ROWS

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

OPEN MODE

Режим работы с записями БД: 

  •  READ/WRITE — полный доступ; 

  •  READ ONLY — только чтение

SCHEMA CACHE DIR

Каталог для локального кэширования структуры данных (см. параметр ENABLE SCHEMA CACHE)

SCHEMA CACHE SIZE

Задает число таблиц, структура данных которых может кэшироваться

SCHEMA CACHE TIME

Задает время хранения кэшируемой структуры данных: 

  •  -1 — время не ограничено;

  •   0 — данные не кэшируются;

  •   1 — 21 47483647 — секунды

SERVER NAME

Указывает путь к таблицам БД (это может быть локальный маршрут или маршрут с указанием удаленного сервера БД)

SQLPASSTHRU MODE

Задает способ использования соединения с сервером прямыми запросами SQL и запросами, управляемыми пользователем.

SHARED AUTOCOMMIT— соединение используется совместно и прямые запросы фиксируются автоматически.

SHARED NO AUTOCOMMIT— соединение используется совместно и прямые запросы фиксируются сервером самостоятельно.

NOT SHARED — совместное использование запрещено

 

SQLQRYMODE

Задает режим управления запросами.

NULL — сначала запрос передается серверу, если тот не может обработать его, запрос выполняется локально.

SERVER — запрос передается серверу.

 LOCAL — запрос выполняется локально

VENDOR INIT

Название файла динамической библиотеки поставщика

CONNECT TIMEOUT 

Определяет временной интервал, после которого клиент попытается восстановить прерванную связь с сервером

TIMEOUT

Задает время ожидания ответа сервера на запрос

BLOB EDIT LOGGING 

Управляет механизмом сохранения всех изменений для полей типа BLOB. При значении True изменения сохраняются

DATABASE NAME 

Имя базы данных

MAX QUERY TIME

Задает максимальное время ожидания ответа на запрос

USER NAME

Имя пользователя, которое используется сервером при подключении

Microsoft SQL Server (MSSSQL)

MAX DBPROCESSES 

Максимальное число процессов, одновременно работающих в данном соединении

APPLICATION NAME 

Имя приложения, помогающее серверу идентифицировать процессы

DATE MODE

Определяет формат даты:

  • 0 - МДГ; 

  •  1 - ДМГ;

  • 2-ГМД

HOST NAME

Содержит имя рабочей станции. Помогает серверу при идентификации процессов

NATIONAL LANG NAME 

Задает национальный язык, который используется для вывода текста в сообщениях об ошибках

TDS PACKET SIZE 

Определяет размер пакетов потоков данных

Oracle (ORACLE)

NET PROTOCOL 

Устанавливает сетевой протокол передачи данных

Informix (INFORMIX)

DATE SEPARATOR 

Задает разделитель для формата даты

Microsoft Access (MSACCIESS)

SYSTEM DATABASE

Путь к системной базе данных с информацией о правах доступа. При изменении параметра драйвер необходимо перезагрузить

DB2 (DB2)

DB2 DSN 

Задает имя соединения с БД. Это название псевдонима клиента DB2, который создается на сервере

DRIVER 

Имя драйвера DB2

ROWSET SIZE 

Определяет число записей, передаваемых одновременно

Драйверы ODBC

ODBC DRIVER 

Имя драйвера ODBC

ODBC DSN 

Имя набора данных ODBC

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

Страница Configuration, помимо настройки установленных в BDE драйверов, позволяет редактировать параметры, используемые BDE при инициализации приложения. Эти параметры доступны при выборе узлов System, a затем INIT иерархического дерева. Назначение параметров представлено в табл. 16.4.

Таблица 16.4. Параметры инициализации приложения

Параметр

Назначение

AUTO ODBC

В значении True при каждой инициализации в BDE автоматически импортируются все установленные в системе драйверы ODBC

DATA REPOSITORY

Имя текущего словаря данных

DEFAULT DRIVER

Локальный драйвер, используемый по умолчанию в драйвере STANDARD

LANGDRIVER

Драйвер языковой поддержки. При использовании стандартных локальных драйверов это значение перекрывают те, которые определены непосредственно в конфигурациях драйверов Paradox, dBASE, FoxPro, ASCII

LOCAL SHARE

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

LOW MEMORY USAGE LIMIT

Максимальный объем памяти (в Кбайтах), который BDE пытается использовать в первом Мбайте оперативной памяти

MAXBUFSIZE

Максимальный размер кэша данных. Он должен быть не меньше значения параметра MINBUFSIZE и кратен 1 28

MAXFILEHANDLES

Максимальное число используемых файлов

MEMSIZE

Максимальный объем используемой BDE памяти в Мбайтах

MINBUFSIZE

Минимальный размер кэша данных. Он должен быть не больше значения параметра MAXBUFSIZE и кратен 128

MTS POOLING

Управляет режимом объединения ресурсов MTS (Microsoft Transaction Server). Обеспечивает лучшую производительность

SHAREDMEMLOCATION

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

SHAREDMEMSIZE

Максимальный объем памяти, используемый Менеджером памяти и Менеджером буфера

SQLQRYMODE

См. табл. 16.2

SYSFLAGS

Не используется

VERSION

Номер внутренней версии BDE. Только для чтения

Также на странице Configuration устанавливаются параметры форматов даты, времени и чисел. Доступ к параметрам осуществляется через узлы System и Format.

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