Для успешного доступа к данным приложение и BDE должны обладать информацией о местоположении файлов требуемой базы данных. Задание маршрута входит в обязанности разработчика.
Самый простой способ заключается в явном задании полного пути к каталогу, в котором хранятся файлы БД. Но в случае изменения пути, что случается не так уж редко (например, при переносе готового приложения на компьютер заказчика), разработчик должен перекомпилировать проект с учетом будущего местонахождения БД или предусмотреть специальные элементы управления, в которых можно задать путь к БД.
Для решения такого рода проблем разработчик может использовать псевдоним базы данных, который представляет собой именованную структуру, содержащую путь к файлам БД и некоторые дополнительные параметры. В первом приближении можно сказать, что вы просто присваиваете маршруту произвольное имя, которое используется в приложении. Тогда при переносе приложения на компьютере заказчика достаточно создать стандартными средствами BDE одноименный псевдоним и настроить его на нужный каталог. При этом само приложение не требует переделок, так как оно обращается к псевдониму с одним именем, а вот BDE уже "знает", куда отправить запрос приложения, использовавшего этот псевдоним.
Помимо маршрута к файлам базы данных, псевдоним BDE обязательно содержит информацию о драйвере БД, который используется для доступа к данным. Наличие других параметров зависит от типа драйвера, а значит от типа СУБД.
Для управления псевдонимами баз данных, настройки стандартных и дополнительных драйверов в составе BDE имеется специальная утилита -BDE Administrator (исполняемый файл BDEADMIN.EXE).
Стандартная конфигурация BDE сохраняется в файле IDAP1.CFG. При необходимости текущую конфигурацию можно сохранить в новом файле с расширением CFG или загрузить заново при помощи командSave As Configurationи Open Configurationиз менюObject.
В верхней части окна утилиты расположена панель инструментов, кнопки которой используются при работе с конкретным элементом настройки BDE.
Рабочая область утилиты BDE Administrator представляет собой двухстраничный блокнот.
СтраницаDatabases содержит иерархическое дерево, в узлах которого расположены установленные в системе на данный момент псевдонимы БД (рис. 14.2). При выборе какого-либо псевдонима в правой части панели появляется путь к файлам базы данных и перечень параметров драйвера, соответствующего псевдониму, которые можно настраивать вручную.
Рис. 14.2. Окно утилиты ВОЕ Administrator с открытой страницейDatabases
Рис. 14.3. Окно утилиты BDE Administrator с открытой страницейConfiguration
СтраницаConfiguration используется для настройки параметров драйверов BDE, предназначенных для обеспечения доступа к локальным СУБД и серверам БД (рис. 14.3). Также здесь определяется системная конфигурация BDE. которая включает параметры числовых форматов, дат, времени. Вся информация на этой странице также структурирована в виде иерархического дерева.
При выборе в левой панели утилиты какого-либо узла, в правой части на страницеDefinition отображается вся необходимая информация для этого объекта.
Сохранение изменений осуществляется при помощи команд менюObject,всплывающего меню или при перемещении на другой псевдоним.
Для создания нового псевдонима требуется выбрать команду New из меню Object или из всплывающего меню узлаDatabases на одноименной странице. Затем в появившемся простом диалоге задается необходимый драйвер.
Отметим, что один из четырех стандартных локальных драйверов устанавливается на страницеConfiguration в качестве предопределенного, поэтому в списке он доступен под названием STANDARD, а остальные не видны вообще. Из драйверов SQL Links доступны те, которые были установлены при инсталляции Delphi или позже.
Кроме того, в списке можно выбрать один из драйверов ODBC, установка которых осуществляется стандартными системными средствами в Панели управления Windows.
После выбора драйвера в дереве псевдонимов БД появляется новый узел, для драйвера которого требуется установить необходимые параметры (см. ниже).
Для четырех локальных драйверов список параметров в правой части панели утилиты на страницеDefinition ограничивается параметрами стандартного драйвера (STANDARD), подробная настройка для каждого драйвера осуществляется на страницеConfiguration.
Назначение параметров локальных драйверов BDE (Paradox, dBASE, FoxPro, ASCII) представлено в табл. 14.2.
Таблица 14.2. Параметры драйверов BDE для локальных баз данных
Параметр
Назначение
STANDARD
DEFAULT DRIVER
Задает тип конкретного локального драйвера (Paradox, dBASE, FoxPro, ASCII)
ENABLE BCD
Определяет способ представления вещественных чисел. При значении 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, кратный 512
DBASE
MEMO FILE BLOCK SIZE
Размер блоков для файлов с данными типа Memo (расширение DBT), кратный 512
FOXPRO
VERSION
Не редактируемая информация о версии драйвера
TYPE
Тип СУБД. Для FoxPro имеет значение file. Только для чтения.
LANGDRIVER
Определяет драйвер языковой поддержки
LEVEL
Имеет значение 25
Драйвер текстовых файлов ASCIIDRV имеет параметры стандартного драйвера.
Назначение параметров драйверов SQL Links для серверов SQL представлено в табл. 14.3. Сначала приведены параметры, которые встречаются в двух и более драйверах, затем уникальные для каждого драйвера параметры. Драйверы для серверов InterBase и Sybase не представлены, так как содержат только общие для двух серверов параметры.
Таблица 14.3. Параметры драйверов ВОЕ для серверов SQL
Параметр
Назначение
Общие параметры
(встречаются как минимум у двух драйверов)
VERSION
He редактируемая информация о версии драйвера
TYPE
Тип СУБД. Только для чтения
DLL
Название библиотеки динамического связывания SQL Links для 16-разрядного драйвера. Только для чтения.
DLL32
Название библиотеки динамического связывания SQL Links для 32-разрядного драйвера. Только для чтения.
DRIVER FLAGS
Используется только при необходимости применения старых версий драйвера, где не поддерживается уровень изоляции транзакций Read Committed. Для этого необходимо установить значение 512.
TRACE MODE
Содержит битовую маску, которая определяет тип выдаваемой отладочной информации
BATCH COUNT
Задает число записей, модифицируемых в одном пакете при фиксации транзакций.
BLOB SIZE
Размер кэша для данных типа BLOB. Диапазон от 32Кбайт до 1000 Кбайт.
blobs то cache
Задает число кэшируемых записей с данными BLOB. Диапазон от 64 до 65536
enable BCD
Определяет способ представления вещественных чисел. При значении True такие числа преобразуются в формат BCD (Binary Coded Decimals — десятичные с двоичным кодированием), который позволяет округлять погрешности высших разрядов дробной части числа. Изменение параметра для псевдонима работает, только если параметр драйвера на странице Configuration не пустой
enable schema сасне
Определяет режим кэширования структуры данных. При значении True структура таблиц БД кэшируется локально в каталоге, задаваемом параметром schema cache dir. Рекомендуется использовать только для баз данных с постоянной структурой
langdriver
Определяет драйвер языковой поддержки
мах rows
Ограничивает максимальное число записей, которое может быть передано клиенту в ответ на запрос. Значение по умолчанию — -1 (ограничений нет)
open mode
Режим работы с записями БД:
READ/WRITE — полный доступ
read only — только чтение
schema cache dir
Каталог для локального кэширования структуры данных (см. параметр enable schema cache)
schema cache size
Задает число таблиц, структура данных которых может кэшироваться
schema cache TIME
Задает время хранения кэшируемой структуры данных: -1 — время не ограничено 0 — данные не кэшируются 1-2147483647 время в секундах
server name
Указывает путь к таблицам БД (это может быть локальный маршрут ИЛИ маршрут с указанием удаленного сервера БД)
sqlpassthru mode
Задает способ разделения соединения с сервером между прямыми запросами SQL и запросами, управляемыми пользователем. shared autocommit — соединение используется совместно и прямые запросы фиксируются автоматически shared NO autocommit — соединение используется совместно и прямые запросы фиксируются сервером самостоятельно not shared — совместное использование запрещено.
sqlqrymode
Задает режим управления запросами:
null — сначала запрос передается серверу, и если тот не может обработать его, запрос выполняется локально server — запрос передается серверу local — запрос выполняется локально
vendor init
Название файла динамической библиотеки поставщика.
connect timeout
Определяет временной интервал, после которого клиент попытается восстановить прерванную связь с сервером
Time out
Задает время ожидания ответа сервера на запрос
blob edit LOGGING
Управляет механизмом сохранения всех изменений для полей типа BLOB. При значении True изменения сохраняются.
DATABASE NAME
Имя базы данных
мах query time
Задает максимальное время ожидания ответа на запрос
user name
Имя пользователя, которое используется сервером при подключении
Microsoft SQL Server (MSSQL)
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 (MSACCESS)
system database
Путь к системной базе данных с информацией о правах доступа. При изменении параметра драйвер необходимо перезагрузить
DB2 (DB2)
DB2 DSN
Задает имя соединения с БД. Это название псевдонима клиента DB2, который создается на сервере
DRIVER
Имя драйвера DB2
ROWSET SIZE
Определяет число записей, передаваемых одновременно
Драйверы ODBC
ODBC DRIVER
Имя драйвера ODBC
ODBC DSN
Имя набора данных ODBC
После настройки параметров драйвера и сохранения текущей конфигурации новый псевдоним становится доступен для любого приложения, использующегоBDE. Подробнее о настройке компонентов доступа к данным приложений БД см. следующую главу.
СтраницаConfiguration, помимо настройки установленных в BDE драйверов, позволяет редактировать параметры, используемые BDE при инициализации приложения. Эти параметры доступны при выборе узловSystem,а затемINIT иерархического дерева. Назначение параметров представлено в табл. 14.4.
Таблица 14.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 и кратен 128
MAXFILEHANDLES
Максимальное число используемых файлов
MEMSIZE
Максимальный объем используемой BDE памяти в мега байтах
MINBUFSIZE
Минимальный размер кэша данных. Он должен быть не больше значения параметра maxbufsize и кратен 128
MTS POOLING
Управляет режимом объединения ресурсов MTS (Microsoft Transaction Server). Обеспечивает лучшую производительность
SHAREDMEMLOCATION
Содержит адрес памяти, который пытаются использовать
Менеджер памяти и Менеджер буфера. При возникновении конфликтов адрес необходимо поменять вручную. Задает ся только второе слово адреса.
SHAREDMEMSIZE
Максимальный объем памяти, используемый Менеджером памяти и Менеджером буфера
SQLQRYMODE
См. таблицу 15.2
SYSFLAGS
Не используется
VERSION
Номер внутренней версии BDE. Только для чтения
Также на страницеConfiguration устанавливаются параметры форматов даты, времени и чисел. Доступ к параметрам осуществляется через узлыSystem и Format.