Механизмы доступа к данным. Borland Database Engine и альтернативы 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Механизмы доступа к данным. Borland Database Engine и альтернативы



ODBC

ODBC (Open Database Connectivity) - широко распространенный программный интерфейс фирмы Microsoft, удовлетворяющий стандартам ANSI и ISO для интерфейсов обращений к базам данных (Call Level Interface, CLI). Для доступа к данным конкретной СУБД с помощью ODBC, кроме собственно клиентской части этой СУБД, нужен ODBC Administrator (приложение, позволяющее определить, какие источники данных доступны для данного компьютера с помощью ODBC, и описать новые источники данных), и ODBC-драйвер для доступа к этой СУБД. ODBC-драйвер представляет собой динамически загружаемую библиотеку (DLL), которую клиентское приложение может загрузить в свое адресное пространство и использовать для доступа к источнику данных. Для каждой используемой СУБД нужен собственный ODBC-драйвер, так как ODBC-драйверы используют функции клиентских API, разные для различных СУБД.

С помощью ODBC можно манипулировать данными любой СУБД (и даже данными, не имеющими прямого отношения к базам данных, например данными в файлах электронных таблиц или в текстовых файлах), если для них имеется ODBC-драйвер. Для манипуляции данными можно использовать как непосредственные вызовы ODBC API, так и другие универсальные механизмы доступа к данным, например OLE DB, ADO, BDE, реализующие стандартные функции или классы на основе вызовов ODBC API в драйверах или провайдерах, специально предназначенных для работы с любыми ODBC-источниками.

Говоря об ODBC, нельзя не отметить, что спецификация ODBC подразумевает несколько стандартов на ODBC-драйверы (обычно в этом случае употребляются термины Level 1, Level 2 и т.д.). Эти стандарты отличаются различной функциональностью, которая должна быть реализована в таком драйвере. Например, драйверы, соответствующие стандарту Level 1, не обязаны поддерживать работу с хранимыми процедурами, а некоторые ODBC-драйверы не поддерживают двухфазное завершение транзакций (применяемое в том случае, когда требуется согласованное изменение данных в нескольких различных серверных СУБД).

OLE DB и ADO

OLE DB и ADO - часть универсального механизма доступа к данным Microsoft (Microsoft Universal Data Access), позволяющая осуществить доступ как к реляционным, так и к нереляционным источникам данных, таким как файловая система, данные электронной почты, многомерные хранилища данных и др.

Microsoft ActiveX Data Objects (ADO) - это набор библиотек, содержащих COM-объекты, реализующие прикладной программный интерфейс для доступа к таким данным и используемые в клиентских приложениях. ADO использует библиотеки OLE DB, предоставляющие низкоуровневый интерфейс для доступа к данным. OLE DB предоставляет доступ к данным с помощью COM-интерфейсов. Можно также использовать OLE DB непосредственно, минуя ADO.

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

Среди OLE DB-провайдеров для разных источников данных имеется специальный провайдер Microsoft OLE DB Provider for ODBC Drivers. Этот провайдер использует не API клиентской части какой-либо СУБД, а интерфейс ODBC API, поэтому он применяется вместе с ODBC-драйвером для выбранной СУБД.

Отметим, что ADO становится все более популярным способом доступа к данным, так как входит в состав таких широко используемых продуктов, как Microsoft Office 2000 и Microsoft Internet Explorer 5.0, а также включен в ядро операционных систем семейства Windows 2000.

Более подробно об OLE DB и ADO будет рассказано в следующей статье данного цикла.

BDE

Обсудив наиболее популярные универсальные механизмы доступа к данным, можно перейти к предмету данной статьи - Borland Database Engine.

Что такое BDE

BDE (Borland Database Engine) - универсальный механизм доступа к данным, применяемый в средствах разработки фирмы Borland (а именно - Delphi и C++Builder), а также в некоторых других продуктах, например Corel Paradox, Corel Quattro Pro, Seagate Software Crystal Reports.

BDE - это наследник библиотеки Paradox Engine, созданной для Borland Pascal и Borland C++ с целью предоставить приложениям, разработанным с их помощью, доступ к таблицам СУБД Paradox. Вскоре после создания Paradox Engine компанией Borland было разработано несколько библиотек-драйверов под общим названием SQL Links. Эти библиотеки расширили функциональность BDE, позволив применять имевшийся в Paradox Engine набор функций для доступа к данным dBase, ODBC-источников, а также наиболее популярных серверных СУБД. Позже к этому набору были добавлены библиотеки для доступа к Access и FoxPro.

Механизм Borland Database Engine широко использовался при создании приложений с базами данных с помощью Borland Pascal 7.0 и Borland C++ 4.5 и 5. Затем средства разработки Borland были преобразованы в средства быстрой разработки приложений (Rapid Application Development, RAD), и большинство вызовов BDE API оказалось инкапсулировано в компонентах доступа к данным библиотеки Visual Components Library (VCL). BDE был фактически единственным механизмом доступа к данным в Delphi и C++Builder, поддерживаемым на уровне компонентов, классов, а также визуальных компонентов для редактирования данных, вплоть до 5-й версии обоих продуктов - Delphi и C++Builder.

Физически BDE представляет собой набор библиотек доступа к данным, реализующих BDE API - набор функций для манипуляции данными, вызываемых из приложения. Эти функции, в свою очередь, могут обращаться к функциям клиентского API (в случае, например, Oracle, Informix, IB Database) или ODBC API (Access 2000, Microsoft SQL Server 7.0, любые ODBC-источники), а также непосредственно манипулировать файлами некоторых СУБД (dBase, Paradox).

Для доступа к базе данных с помощью BDE на компьютере, содержащем клиентское приложение, должны быть установлены библиотеки BDE общего назначения, а также BDE-драйвер для данной СУБД. В случае серверных СУБД такие драйверы носят название SQL Links. Эти драйверы содержат BDE API - стандартный набор функций, созданных на основе функций клиентских API соответствующих СУБД.

Среди BDE-драйверов имеется драйвер, созданный с использованием ODBC API, - так называемый ODBC Link, который применяется вместе с ODBC-драйвером для выбранной СУБД.

В отличие от ODBC-драйверов и OLE DB-провайдеров, выпускаемых как производителями СУБД, так и многими сторонними производителями, BDE-драйверы производятся только самой компанией Inprise. Число СУБД, для которых имеются BDE-драйверы, ограничено пятью наиболее популярными серверными СУБД, рассмотренными в предыдущей статье нашего цикла, несколькими форматами данных настольных СУБД (в основном ранних версий СУБД, рассмотренных во второй статье этого цикла) и сервером IB Database, входящим в комплект поставки средств разработки Borland. Для доступа к данным остальных СУБД с помощью BDE можно использовать только ODBC-драйвер и ODBC Link. Ниже мы осветим это вопрос более подробно.

Таблица 1

Версия dBase или Paradox Чтение Чтение и запись
dBase III + BDE 4.x или более поздняя версия
dBase III+ + BDE 4.x или более поздняя версия
dBase IV + BDE 4.x или более поздняя версия
dBase 5 + BDE 4.x или более поздняя версия
dBase 7 BDE 4.x или более поздняя версия BDE 4.x или более поздняя версия
dBase 7.5 BDE 5.x или более поздняя версия BDE 5.x или более поздняя версия
Paradox 3 + BDE 4.x или более поздняя версия
Paradox 4 + BDE 4.x или более поздняя версия
Paradox 5 + BDE 4.x или более поздняя версия
Paradox 7 BDE 4.x или более поздняя версия BDE 4.x или более поздняя версия
Paradox 8 BDE 4.x или более поздняя версия BDE 4.x или более поздняя версия
Paradox 9 BDE 5.x или более поздняя версия BDE 5.x или более поздняя версия

Из вышеизложенного следует, что не имеет особого смысла использовать ODBC-драйверы этих СУБД и ODBC Link, по крайней мере в средствах разработки, поддерживающих BDE (Delphi, C++Builder), и в созданных с их помощью приложениях. Несмотря на то что такой доступ к данным технически вполне осуществим, реально в приложении все равно используется BDE-драйвер прямого доступа. В этом случае между приложением и драйвером оказываются две <лишние> библиотеки, не добавляющие никакой дополнительной функциональности, а лишь создающие неудобства при поставке приложения и настройке доступа к данным, к тому же нередко еще и снижающие производительность приложения.

Доступ к данным Paradox или поздних версий dBase непосредственно с помощью BDE в Visual Basic, Visual C++ и иных средств разработки, не ориентированных на поддержку BDE на уровне визуальных компонентов и классов, возможен только на уровне вызовов BDE API, что в принципе технически осуществимо, однако представляется несколько экзотическим подходом к решению проблемы.

Microsoft Access

BDE-драйвер прямого доступа в настоящее время доступен для Access 95 и Access 97. Оба эти драйвера работают только в том случае, когда на компьютере, где эксплуатируется использующее их приложение, установлена соответствующая версия библиотек Microsoft Jet Engine (она входит в комплект поставки Microsoft Access и Microsoft Visual FoxPro). Эти драйверы не способны работать с данными Access 2000.

Для доступа с помощью BDE к Access 2000 можно использовать соответствующий ODBC-драйвер и ODBC Link, при этом на компьютере, где эксплуатируется использующее их приложение, требуется наличие Microsoft Jet Engine 4.0. Он входит в состав Microsoft Access 2000, а также в состав Microsoft Data Access Components (MDAC). Последние доступны на Web-сайте корпорации Microsoft. Кстати, не все типы данных, используемые этой версией Access, поддерживаются BDE, поэтому может оказаться, что какие-то из таблиц или их столбцов окажутся недоступными.

Отметим, однако, что использование BDE - не самый эффективный способ доступа к данным Access. Применение его оправданно при использовании старых версий средств разработки Borland (Delphi 1.0-4.0, C++Builder 1.0-4.0), ориентированных на применение BDE как единственного механизма доступа к данным, поддерживаемого на уровне компонентов и классов. Что касается других средств разработки, а также последних версий Delphi и C++Builder, то при их применении более целесообразно осуществлять доступ к данным Access с помощью ADO и OLE DB, так как эти механизмы предоставляют по сравнению с BDE гораздо больше функциональных возможностей.

Microsoft SQL Server и MSDE

BDE-драйвер прямого доступа существует сегодня для Microsoft SQL Server версий 4.x и 6.x. Он не всегда работает с Microsoft SQL Server 7.0 и MSDE, так как некоторые новые особенности Microsoft SQL Server 7.0, отсутствовавшие в прежних версиях этой СУБД, например ряд типов данных, не поддерживаются BDE.

Следует подчеркнуть, что, как и в случае с Access, несмотря на теоретическую возможность доступа к данным этой СУБД с помощью ODBC Link и соответствующего ODBC-драйвера, практически это осуществимо не всегда по той же самой причине.

Доступ к данным этой СУБД необходимо осуществлять с помощью ADO/OLE DB (либо с помощью объектной модели клиентской части этой СУБД).

ODBC-источники

Как уже было отмечено выше, для доступа с помощью BDE к источникам данных, отличным от перечисленных выше, следует использовать ODBC-драйвер и ODBC Link.

В следующей таблице приведен список ODBC-драйверов, сертифицированных для использования с Delphi 5/C++Builder 5 и BDE.

Таблица 2

Сертификация применимости с BDE Версия ODBC Driver Manager СУБД Производитель ODBC-драйвера Версия ODBC- драйвера

Таблица 3

СУБД ODBC-драйвер + ODBC Link BDE-драйвер
Paradox + +
dBase + +
Microsoft Access 95 + (требуется Microsoft Jet Engine 3.0) + (требуется Microsoft Jet Engine 3.0)
Microsoft Access 97 + (требуется Microsoft Jet Engine 3.5) + (требуется Microsoft Jet Engine 3.5)
Microsoft Access 2000 Частично (требуется Microsoft Jet Engine 4.0) -
Microsoft FoxPro + +
Microsoft Visual FoxPro + -
Microsoft SQL Server 6.5 + +
Microsoft SQL Server 7.0 + -
Microsoft Data Engine + -
Oracle 7 + +
Oracle 8 + + (начиная с версии 8.0.4)
Sybase 4.0 (с интерфейсом DB-Lib) + +
Sybase System 10 и более поздние версии с интерфейсом CT-Lib Interface + + (начиная с версии 10.0.4 EBF7264)
Informix + +
IBM DB2 + +
IB Database 4.0, 5.х + +

Суммируя все сказанное выше, отметим, что по сравнению с другими универсальными механизмами доступа к данным применение BDE оправданно, когда:

  • для хранения данных используются СУБД, когда-то принадлежавшие фирме Borland (Paradox, dBase);
  • для создания приложений используются ранние версии средств разработки Borland вместе с Informix, IB Database, DB2, Sybase, а также ранними версиями Access и Microsoft SQL Server;
  • используются объектные расширения Oracle и средства разработки Borland двух последних версий.

Применение BDE абсолютно не оправданно, когда:

  • для создания приложений используются средства разработки, не принадлежащие и не принадлежавшие Borland (за исключением случаев, когда необходима запись в файлы Paradox и dBase);
  • для хранения данных используются Microsoft SQL Server 7.0 и Access 2000.

Мы видим, что применение BDE в ряде случаев связано с определенными ограничениями, причиной которых часто является отсутствие необходимых BDE-драйверов, которые, в отличие от ODBC-драйверов и OLE DB-провайдеров, не производит никто, кроме фирмы Borland. Этот недостаток отчасти могут восполнить другие продукты третьих фирм, имеющиеся сегодня в достаточном количестве.

 

ODBC98 (Kosta Corriveau)

http://www.odbc98.com/

ODBC98, как и ODBCExpress, представляет собой набор компонентов и классов для Delphi и C++Builder, обеспечивающих доступ к ODBC-источникам и использующих для этой цели ODBC API. Для применения этих библиотек также требуются библиотеки ODBC и ODBC-драйвер для выбранной СУБД. Сами компоненты и классы ODBC98 также располагаются внутри исполняемого файла приложения.

ODBC98 cовместим со стандартными компонентами отображения данных и генераторами отчетов, наиболее часто применяемыми с этими средствами разработки, а также с наиболее популярными коммерческими компонентами отображения данных, такими как InfoPower (Woll2Woll Software) и Orpheus (TurboPower).

Хотя ODBC98 - относительно новый продукт, он успел получить неплохие отзывы экспертов, особенно в отношении высококачественной технической поддержки. Достоинством продукта можно считать и наличие регулярных публикаций результатов его тестирования совместно с вновь выходящими ODBC-драйверами, что избавляет потребителей от многочисленных утомительных <экспериментов>.

Apollo (Vista Software)

http://www.vistasoftware.com/

Apollo представляет собой набор VCL-компонентов для Delphi и C++Builder, позволяющих осуществлять прямой доступ к таблицам и индексам FoxPro и Clipper (файлы с расширениями.DBF,.DBT,.NTX,.FPT,.IDX,.CDX), а также к собственному формату данных Vista Software (файл с расширением.NSX). При поставке приложений, кроме исполняемого файла, требуются две динамически загружаемые библиотеки размером 350 Kбайт.

Особенностью Apollo является поддержка режима блокировок, характерного для DOS-приложений, созданных с помощью FoxPro и Clipper. Это позволяет совместно использовать одну и ту же базу данных приложениями, созданными с помощью Apollo, и приложениями, созданными с помощью FoxPro и Clipper. Помимо этого Apollo поддерживает оптимизацию запросов наподобие применяемой в FoxPro, шифрование данных, использование функций, определяемых пользователем, в запросах и индексах (что широко применялось в dBase, Clipper, FoxPro, но сейчас практически не используется в универсальных механизмах доступа к данным; с этой точки зрения Apollo - практически единственный инструмент, позволяющий манипулировать dBase-таблицами с индексами, основанными на выражениях).

Apollo cовместим со стандартными компонентами отображения данных, наиболее популярными генераторами отчетов, используемыми с этими средствами разработки, а также с наиболее популярными коммерческими компонентами отображения данных, такими как InfoPower (Woll2Woll Software) и Orpheus (TurboPower).

Механизмы доступа к данным. Borland Database Engine и альтернативы

Существует несколько способов доступа к данным из средств разработки и клиентских приложений.

Подавляющее большинство систем управления базами данных содержит в своем составе библиотеки, предоставляющие специальный прикладной программный интерфейс (Application Programming Interface, API) для доступа к данным этой СУБД. Обычно такой интерфейс представляет собой набор функций, вызываемых из клиентского приложения. В случае настольных СУБД эти функции обеспечивают чтение/запись файлов базы данных, а в случае серверных СУБД инициируют передачу запросов серверу баз данных и получение от сервера результатов выполнения запросов или кодов ошибок, интерпретируемых клиентским приложением. Библиотеки, содержащие API для доступа к данным серверной СУБД, обычно входят в состав ее клиентского программного обеспечения, устанавливаемого на компьютерах, где функционируют клиентские приложения.

В последнее время Windows-версии клиентского программного обеспечения наиболее популярных серверных СУБД, в частности Microsoft SQL Server, Oracle, Informix, содержат также COM-серверы, предоставляющие объекты для доступа к данным и метаданным.

Использование клиентского API (или клиентских COM-объектов) является наиболее очевидным (и нередко самым эффективным с точки зрения производительности) способом манипуляции данными в приложении. Однако в этом случае созданное приложение сможет использовать данные только СУБД этого производителя, и замена ее на другую (например, с целью расширения хранилища данных или перехода в архитектуру <клиент-сервер>) повлечет за собой переписывание значительной части кода клиентского приложения - клиентские API и объектные модели не подчиняются никаким стандартам и различны для разных СУБД.

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

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

Наиболее популярными среди универсальных механизмов доступа к данным можно назвать следующие:

  • Open Database Connectivity (ODBC).
  • OLE DB.
  • ActiveX Data Objects (ADO).
  • Borland Database Engine (BDE).

Универсальные механизмы ODBC, OLE DB и ADO фирмы Microsoft представляют собой по существу промышленные стандарты. Что касается механизма доступа к данным BDE фирмы Borland, то он так и не стал промышленным стандартом, однако до недавнего времени применялся довольно широко, так как до выхода Delphi 5 был практически единственным универсальным механизмом доступа к данным, поддерживаемым средствами разработки Borland на уровне компонентов и классов.

Наиболее часто используемые в приложениях способы доступа к данным схематически изображены на рис. 1.

 

Рис. 1. Возможные механизмы доступа к данным из приложений и средств разработки

Как видно из приведенной схемы, в общем случае приложение, использующее базы данных, может применять следующие механизмы доступа к ним:

  • Непосредственный вызов функций клиентского API (или обращение к COM-объектам клиентских библиотек).
  • Вызов функций ODBC API (или применение классов, инкапсулирующих подобные вызовы).
  • Непосредственное обращение к интерфейсам OLE DB.
  • Применение ADO (или применение классов, инкапсулирующих обращение к объектам ADO).
  • Применение ADO + OLE DB + ODBC.
  • Применение BDE + SQL Links (или применение классов, инкапсулирующих обращение к функциям BDE).
  • Применение BDE + ODBC Link + ODBC.

Помимо этих существуют и иные способы доступа к данным, обычно в той или иной степени использующие перечисленные универсальные механизмы или непосредственно клиентские API.

Ниже мы кратко остановимся на наиболее широко используемых универсальных механизмах, а затем рассмотрим Borland Database Engine и наиболее популярные продукты третьих фирм, способные его заменить.

ODBC

ODBC (Open Database Connectivity) - широко распространенный программный интерфейс фирмы Microsoft, удовлетворяющий стандартам ANSI и ISO для интерфейсов обращений к базам данных (Call Level Interface, CLI). Для доступа к данным конкретной СУБД с помощью ODBC, кроме собственно клиентской части этой СУБД, нужен ODBC Administrator (приложение, позволяющее определить, какие источники данных доступны для данного компьютера с помощью ODBC, и описать новые источники данных), и ODBC-драйвер для доступа к этой СУБД. ODBC-драйвер представляет собой динамически загружаемую библиотеку (DLL), которую клиентское приложение может загрузить в свое адресное пространство и использовать для доступа к источнику данных. Для каждой используемой СУБД нужен собственный ODBC-драйвер, так как ODBC-драйверы используют функции клиентских API, разные для различных СУБД.

С помощью ODBC можно манипулировать данными любой СУБД (и даже данными, не имеющими прямого отношения к базам данных, например данными в файлах электронных таблиц или в текстовых файлах), если для них имеется ODBC-драйвер. Для манипуляции данными можно использовать как непосредственные вызовы ODBC API, так и другие универсальные механизмы доступа к данным, например OLE DB, ADO, BDE, реализующие стандартные функции или классы на основе вызовов ODBC API в драйверах или провайдерах, специально предназначенных для работы с любыми ODBC-источниками.

Говоря об ODBC, нельзя не отметить, что спецификация ODBC подразумевает несколько стандартов на ODBC-драйверы (обычно в этом случае употребляются термины Level 1, Level 2 и т.д.). Эти стандарты отличаются различной функциональностью, которая должна быть реализована в таком драйвере. Например, драйверы, соответствующие стандарту Level 1, не обязаны поддерживать работу с хранимыми процедурами, а некоторые ODBC-драйверы не поддерживают двухфазное завершение транзакций (применяемое в том случае, когда требуется согласованное изменение данных в нескольких различных серверных СУБД).

OLE DB и ADO

OLE DB и ADO - часть универсального механизма доступа к данным Microsoft (Microsoft Universal Data Access), позволяющая осуществить доступ как к реляционным, так и к нереляционным источникам данных, таким как файловая система, данные электронной почты, многомерные хранилища данных и др.

Microsoft ActiveX Data Objects (ADO) - это набор библиотек, содержащих COM-объекты, реализующие прикладной программный интерфейс для доступа к таким данным и используемые в клиентских приложениях. ADO использует библиотеки OLE DB, предоставляющие низкоуровневый интерфейс для доступа к данным. OLE DB предоставляет доступ к данным с помощью COM-интерфейсов. Можно также использовать OLE DB непосредственно, минуя ADO.

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

Среди OLE DB-провайдеров для разных источников данных имеется специальный провайдер Microsoft OLE DB Provider for ODBC Drivers. Этот провайдер использует не API клиентской части какой-либо СУБД, а интерфейс ODBC API, поэтому он применяется вместе с ODBC-драйвером для выбранной СУБД.

Отметим, что ADO становится все более популярным способом доступа к данным, так как входит в состав таких широко используемых продуктов, как Microsoft Office 2000 и Microsoft Internet Explorer 5.0, а также включен в ядро операционных систем семейства Windows 2000.

Более подробно об OLE DB и ADO будет рассказано в следующей статье данного цикла.

BDE

Обсудив наиболее популярные универсальные механизмы доступа к данным, можно перейти к предмету данной статьи - Borland Database Engine.

Что такое BDE

BDE (Borland Database Engine) - универсальный механизм доступа к данным, применяемый в средствах разработки фирмы Borland (а именно - Delphi и C++Builder), а также в некоторых других продуктах, например Corel Paradox, Corel Quattro Pro, Seagate Software Crystal Reports.

BDE - это наследник библиотеки Paradox Engine, созданной для Borland Pascal и Borland C++ с целью предоставить приложениям, разработанным с их помощью, доступ к таблицам СУБД Paradox. Вскоре после создания Paradox Engine компанией Borland было разработано несколько библиотек-драйверов под общим названием SQL Links. Эти библиотеки расширили функциональность BDE, позволив применять имевшийся в Paradox Engine набор функций для доступа к данным dBase, ODBC-источников, а также наиболее популярных серверных СУБД. Позже к этому набору были добавлены библиотеки для доступа к Access и FoxPro.

Механизм Borland Database Engine широко использовался при создании приложений с базами данных с помощью Borland Pascal 7.0 и Borland C++ 4.5 и 5. Затем средства разработки Borland были преобразованы в средства быстрой разработки приложений (Rapid Application Development, RAD), и большинство вызовов BDE API оказалось инкапсулировано в компонентах доступа к данным библиотеки Visual Components Library (VCL). BDE был фактически единственным механизмом доступа к данным в Delphi и C++Builder, поддерживаемым на уровне компонентов, классов, а также визуальных компонентов для редактирования данных, вплоть до 5-й версии обоих продуктов - Delphi и C++Builder.

Физически BDE представляет собой набор библиотек доступа к данным, реализующих BDE API - набор функций для манипуляции данными, вызываемых из приложения. Эти функции, в свою очередь, могут обращаться к функциям клиентского API (в случае, например, Oracle, Informix, IB Database) или ODBC API (Access 2000, Microsoft SQL Server 7.0, любые ODBC-источники), а также непосредственно манипулировать файлами некоторых СУБД (dBase, Paradox).

Для доступа к базе данных с помощью BDE на компьютере, содержащем клиентское приложение, должны быть установлены библиотеки BDE общего назначения, а также BDE-драйвер для данной СУБД. В случае серверных СУБД такие драйверы носят название SQL Links. Эти драйверы содержат BDE API - стандартный набор функций, созданных на основе функций клиентских API соответствующих СУБД.

Среди BDE-драйверов имеется драйвер, созданный с использованием ODBC API, - так называемый ODBC Link, который применяется вместе с ODBC-драйвером для выбранной СУБД.

В отличие от ODBC-драйверов и OLE DB-провайдеров, выпускаемых как производителями СУБД, так и многими сторонними производителями, BDE-драйверы производятся только самой компанией Inprise. Число СУБД, для которых имеются BDE-драйверы, ограничено пятью наиболее популярными серверными СУБД, рассмотренными в предыдущей статье нашего цикла, несколькими форматами данных настольных СУБД (в основном ранних версий СУБД, рассмотренных во второй статье этого цикла) и сервером IB Database, входящим в комплект поставки средств разработки Borland. Для доступа к данным остальных СУБД с помощью BDE можно использовать только ODBC-драйвер и ODBC Link. Ниже мы осветим это вопрос более подробно.



Поделиться:


Последнее изменение этой страницы: 2020-12-09; просмотров: 74; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.224.39.74 (0.069 с.)