Введение в базы данных

Другие механизмы доступа к данным

Внушительный список подобных продуктов (порядка пятидесяти, по большей части коммерческих) можно найти на сайте http://www.kylecordes.com. В основном это наборы VCL-компонентов для Delphi и C++Builder, иногда – наборы DLL, cодержащие функции доступа к данным, изредка – COM-серверы и элементы управления ActiveX.

Ниже мы рассмотрим наиболее известные из них.

В начало В начало

Компоненты для доступа к ODBC-источникам

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

ODBCExpress (Korbitec)

http://www.odbcexpress.com

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

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

Эксперты, тестировавшие продукт, отмечают его отличную работу вместе с ODBC-драйверами для Microsoft SQL Server и Microsoft Access и неудовлетворительную работу с ODBC-драйверами для Sybase SQL Anywhere и IB Database.

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-драйверами, что избавляет потребителей от многочисленных утомительных «экспериментов».

В начало В начало

Компоненты прямого доступа к Oracle

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

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

Oracle Data Access Components (CoRe Lab Software Development)

http://www.crlab.com

Oracle Data Access Components (ODAC) представляет собой набор невизуальных компонентов для Delphi и C++ Builder, позволяющих осуществить доступ к Oracle без использования универсальных механизмов доступа к данным. Для доступа к объектам Oracle ODAC использует непосредственно API клиентской части Oracle — Oracle Call Interface (OCI). Отказ от применения универсальных механизмов доступа к данным позволяет повысить производительность приложений и использовать при создании приложений Delphi Professional или C++Builder Professional, более дешевые по сравнению с Enterprise-версиями, обычно применяемыми для этой цели.

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

Компоненты ODAC могут быть использованы с Oracle 7.3, Oracle 8, Oracle 8i, включая Personal Oracle и Personal Oracle Lite.

Direct Oracle Access (Allround Automations)

http://www.allroundautomations.nl

Direct Oracle Access представляет собой еще один набор компонентов, использующий клиентский API для доступа к данным Oracle. Эти компоненты не требуют применения каких-либо универсальных механизмов доступа к данным, тем самым повышая производительность создаваемых приложений, а также позволяют применять Professional-версии средств разработки Borland для создания приложений, использующих Oracle. Кроме того, Direct Oracle Access позволяет выполнять блоки PL/SQL и использовать объектные расширения Oracle 8.

Direct Oracle Access может быть использован совместно со стандартными компонентами отображения данных, генераторами отчетов типа QuickReport, ReportBuilder Pro, а также с наиболее популярными коммерческими компонентами отображения данных, такими как InfoPower (Woll2Woll Software) и Orpheus (TurboPower).

Данный набор компонентов совместим со всеми версиями клиентов Oracle и со всеми версиями Oracle – от Personal Oracle Lite до Oracle 8i.

В начало В начало

Компоненты прямого доступа к IB Database

Компоненты прямого доступа к IB Database (как и аналогичные компоненты для Oracle) имеют неплохие перспективы применения, так как не требуют приобретения Enterprise-версий Delphi или C++Builder, предоставляя дополнительную функциональность, специфичную для IB Database. Один из таких наборов уже входит в комплект поставки Enterprise-версий Delphi 5 и С++Builder 5, но при наличии Professional-версий этих продуктов (или более ранних их версий) стоит обратить внимание на продукты сторонних фирм, реализующие аналогичную функциональность.

Производительность приложений, использующих компоненты прямого доступа к IB Database, обычно выше производительности приложений, которые используют BDE. При поставке таких приложений следует позаботиться о наличии на компьютере пользователя клиентской части IB Database — эти компоненты используют клиентский API, содержащийся в ее библиотеке.

InterBase Objects (Jason Wharton)

http://www.ibobjects.com/

IB Objects представляет собой набор из более чем 40 компонентов прямого доступа к IB Database для Delphi (начиная с версии 2.0) и С++Builder (начиная с версии 3.0), использующих клиентский API этой СУБД. Этот набор совместим со стандартными компонентами отображения данных и генераторами отчетов, наиболее часто применяемыми с этими средствами разработки, а также с наиболее популярными коммерческими компонентами отображения данных, такими как InfoPower (Woll2Woll Software) и Orpheus (TurboPower), однако содержит и собственные визуальные компоненты, в том числе реализующие поиск данных в таблицах и результатах запросовов. IB Objects позволяет использовать специфические особенности IB Database, в частности связанные с обработкой транзакций в этой СУБД.

Помимо этого в комплект поставки IB Objects входит сервер приложений, позволяющий создавать Web-приложения с применением этих компонентов, а также средство просмотра SQL-запросов, генерируемых приложением.

FreeIBComponents (Gregory Deatz)

http://www.interbase.com/downloads/summaries/47.html

FreeIBComponents — набор VCL-компонентов прямого доступа к IB Database 4.2 и 5 для Delphi (начиная с Delphi 3). Помимо собственно компонентов доступа к данным, содержит Pascal-версию заголовочного файла API клиентской части IB Database.

Эксперты отмечают быстрое исправление ошибок и недостатков, несмотря на то что данный продукт распространяется бесплатно.

В начало В начало

Компоненты Titan для доступа к различным СУБД

Компоненты Titan фирмы Reggatta Systems для доступа к Btrieve, Microsoft Access, Sybase SQL Anywhere используют клиентский API этих СУБД, что исключает необходимость использования других библиотек доступа к данным (BDE, ODBC и др.) и позволяет достичь приемлемой производительности.

Titan Btrieve (Reggatta Systems)

http://www.regatta.com

Titan Btrieve представляет собой набор компонентов прямого доступа к данным Btrieve 6.x и выше, а также Pervasive.SQL. Эти компоненты используют непосредственно Btrieve API и требуют наличия соответствующих библиотек на клиентском компьютере, где используется такое приложение.

Компоненты Titan Btrieve совместимы со всеми компонентами отображения данных Delphi и C++Builder.

Среди особенностей Titan Btireve следует отметить возможность добавлять в исполняемый файл сведения о метаданных используемой этим приложением базы данных (имена таблиц, наименования и типы полей и др.). Это позволяет снизить число обращений к базе данных и тем самым уменьшить сетевой трафик. Помимо этого при использовании Titan Btireve можно вызывать процедуры сжатия базы данных и восстановления ее после сбоев.

Titan Access (Reggatta Systems)

http://www.regatta.com

Titan Access представляет собой набор компонентов прямого доступа к данным Access. Эти компоненты используют библиотеки Microsoft Jet, которые должны быть установлены на компьютере пользователя.

Компоненты Titan Access совместимы со всеми компонентами отображения данных Delphi и C++Builder.

Titan SQL Anywhere (Reggatta Systems)

http://www.regatta.com

Titan SQL Anywhere представляет собой набор компонентов прямого доступа к данным Sybase SQL Anywhere. Эти компоненты используют API клиентской части SQL Anywhere, в том числе недокументированные функции.

Компоненты Titan SQL Anywhere совместимы со всеми компонентами отображения данных Delphi и C++Builder.

Эксперты, тестировавшие данный продукт, отмечают его высокую производительность.

В начало В начало

Компоненты управления данными dBase и dBase-подобных СУБД

Компоненты доступа к dBase имеют неплохие перспективы применения по очень простой причине – dBase и его «клоны» были на протяжении многих лет самыми популярными в мире форматами данных (об этом мы уже писали во второй статье данного цикла, опубликованной в апрельском номере журнала). Количество данных, хранящихся в этом формате, а также информационных систем, до сих пор базирующихся на применении формата данных dBase, по-прежнему очень велико, особенно в нашей стране. На российских предприятиях, особенно на периферии, можно обнаружить немало продуктов, написанных на FoxBase и Clipper, которые продаются и покупаются, эксплуатируются на любых компьютерах, в том числе на безнадежно устаревших, при этом вполне удовлетворяя пользователей, и которые по этим причинам никто в ближайшее время не планирует заменять на что-то другое. Но создавать новые приложения, использующие накопленные таким образом данные, все же иногда приходится...

TOPAZ (Software Science, Inc.)

http://www.softsi.com/

TOPAZ представляет собой набор компонентов, классов и функций для Delphi и C++Builder, позволяющих осуществить прямой доступ к данным ранних версий формата dBase, а также применять в приложениях, созданных с помощью Delphi, функции, характерные для xBase-языков (они реализованы в библиотеках TOPAZ).

TOPAZ совместим со стандартными компонентами отображения данных, QuickReport, а также с наиболее популярными коммерческими компонентами отображения данных, такими как InfoPower (Woll2Woll Software) и Orpheus (TurboPower), однако содержит и собственные визуальные компоненты, предназначенные для печати некоторых специализированных отчетов (типа почтовых и других этикеток) и редактирования данных в стиле «старых» dBase-приложений.

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

Помимо библиотек компонентов и функций для манипуляции данными, в комплект поставки TOPAZ входит ряд полезных утилит, например для редактирования dBase-таблиц и их структуры и др.

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).

Advantage Database Server (Extended Systems, Inc.)

http://www.advantagedatabase.com/

Advantage Database Server является одним из некогда «модных» решений – надстройкой над dBase-данными, представляющей собой отдельный процесс, функционирующий наподобие сервера баз данных и управляющий dBase-таблицами (мы упоминали о таких решениях в предыдущей статье данного цикла, опубликованной в майском номере журнала). Клиентские приложения обращаются к этому серверу, а не непосредственно к таблицам. Иными словами, применяя этот продукт, мы можем получить некоторые преимущества архитектуры «клиент-сервер» (например, обработку запросов на сервере, увеличение объема хранимых данных) при сохранении устаревшего формата данных; надо отметить, что это решение пока еще довольно популярно, по крайней мере в США.

Advantage Database Server содержит компоненты и классы для Delphi и C++Builder, позволяющие использовать стандартные компоненты отображения данных, наиболее популярные генераторы отчетов, используемые с этими средствами разработки, а также наиболее популярные коммерческие компоненты отображения данных, такие как InfoPower (Woll2Woll Software) и Orpheus (TurboPower).

Для использования Advantage Database Server с другими средствами разработки в комплект поставки продукта входит ODBC-драйвер.

Серверная часть Advantage Database Server (без клиентских утилит) входит в комплект поставки Visual dBase начиная с версии 7.5.

На компьютере, где эксплуатируются приложения, использующие Advantage Database Server, требуется наличие его клиентской части.

В начало В начало

Заключение

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

  • использование клиентского API (или клиентских COM-объектов);

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

Мы также узнали, что:

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

  • Наиболее общеупотребительными среди универсальных механизмов являются ODBC, OLE DB и ADO, а также, в определенной степени, BDE.

Далее мы рассмотрели BDE и возможности, предоставляемые этим механизмом доступа к данным. Мы выяснили следующее:

  • физически BDE представляет собой библиотеки доступа к данным, реализующие функции BDE API для манипуляции данными;

  • функции BDE API, в свою очередь, могут обращаться к функциям клиентского API или ODBC API;

  • BDE-драйверы прямого доступа сегодня имеются для всех версий dBase, Paradox, IB Database, Microsoft Access 95 и Access 97, Microsoft FoxPro, Microsoft SQL Server 4.x и 6.x., Oracle 7, Oracle 8 (начиная с Oracle 8.0.4), Sybase, IBM DB2, Informix;

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

  • для доступа к данным Paradox и поздних версий dBase требуется наличие BDE даже в случае применения других универсальных механизмов доступа к данным (ODBC, OLE DB, ADO);

  • для доступа к данным Access 2000, Microsoft SQL Server и MSDE использовать BDE не рекомендуется.

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

  • компоненты для доступа к ODBC-источникам данных;

  • компоненты прямого доступа к Oracle и IB Database;

  • компоненты Titan для прямого доступа к Btrieve, Access, SQL Anywhere;

  • компоненты управления данными dBase и dBase-подобных СУБД.

Следующая статья нашего цикла будет посвящена OLE DB и ADO – универсальным механизмам доступа к данным, доступным практически во всех популярных средствах разработки и являющимся составной частью операционных систем семейства Windows 2000.

Предыдущая страница

КомпьютерПресс 6'2000


Наш канал на Youtube

1999 1 2 3 4 5 6 7 8 9 10 11 12
2000 1 2 3 4 5 6 7 8 9 10 11 12
2001 1 2 3 4 5 6 7 8 9 10 11 12
2002 1 2 3 4 5 6 7 8 9 10 11 12
2003 1 2 3 4 5 6 7 8 9 10 11 12
2004 1 2 3 4 5 6 7 8 9 10 11 12
2005 1 2 3 4 5 6 7 8 9 10 11 12
2006 1 2 3 4 5 6 7 8 9 10 11 12
2007 1 2 3 4 5 6 7 8 9 10 11 12
2008 1 2 3 4 5 6 7 8 9 10 11 12
2009 1 2 3 4 5 6 7 8 9 10 11 12
2010 1 2 3 4 5 6 7 8 9 10 11 12
2011 1 2 3 4 5 6 7 8 9 10 11 12
2012 1 2 3 4 5 6 7 8 9 10 11 12
2013 1 2 3 4 5 6 7 8 9 10 11 12
Популярные статьи
КомпьютерПресс использует