Работа с базами данных
Отличительной особенностью системы программирования Delphi была и остается встроенная в нее возможность работы с различными промышленными базами данных (БД). Добрая треть компонентов VCL в Delphi 7 в той или иной степени связаны с созданием приложений для работы с БД.
В .NET Framework встроена архитектура ADO.NET, решающая аналогичные задачи. Упрощенная схема этой архитектуры показана на рис.1.1.
Рис. 1.1. Архитектура ADO.NET
На этой схеме Источник данных - физическая БД или XML-файл с данными. Провайдер данных обеспечивает связь с Источником данных и передает ему команды. Набор данных предназначен для отображения данных. С любым источником данных (ИД) могут быть связаны один или несколько наборов данных (НД) и наоборот - единственный НД может отображать данные из нескольких ИД.
Провайдер данных, входящий в архитектуру ADO.NET, обеспечивает взаимодействие наборов данных с такими ИД, как MS SQL Server, OLE DB и Oracle. В Delphi 8 можно использовать также провайдер BDP.NET (Borland Database Provider for .NET - провайдер баз данных корпорации Borland для .NET), который обеспечивает взаимодействие с серверами DB2, Oracle и InterBase. Дублирование в BDP.NET связи с промышленным сервером Oracle не случайно: корпорации Borland и Oracle связывает многолетнее плодотворное сотрудничество5. По оценкам разработчиков Delphi, управление сервером Oracle с помощью BDP.NET дает определенные преимущества по сравнению с управлением через провайдер ADO.NET.
Наличие BDP.NET не ограничивает новаторского подхода разработчиков Delphi к интеграции с технологией .NET Framework. Связано это с тем, что изначально Delphi тяготела к приложениям для работы с БД в значительно большей степени, чем разработанная в Microsoft технология ADO (Active Data Object - активный объект данных), которая и легла в основу ADO.NET. Delphi 7, например, поддерживала такие технологии, как BDE (Borland Database Engine - машина баз данных корпорации Borland; обеспечивала доступ к файл-серверным БД на таблицах Paradox, dBASE и т. п.), dbExpress (набор скоростных драйверов для непосредственного доступа к некоторым промышленным серверам, в том числе - к MySQL), IBX (доступ к серверу InterBase на уровне его API-функций), DataSnap (разработка многозвенных СУБД) и ряд других.
Delphi 8 определяет естественную миграцию этих технологий в новую среду. Для этого в ее состав включены такие дополнительные технологии:
- TADONETConnector - универсальный класс (наследник TDataSet), который разработчики рекомендуют как наиболее простой и эффективный путь миграции существующих приложений с НД (например, TADODataSet);
- dbExpress.NET - миграция технологии dbExpress;
- DataSnap .NET Client - поддержка многозвенных СУБД;
- IBX.NET - миграция технологии IBX;
- BDE.NET - миграция технологии BDE.
Поддержка этих технологий доступна только в режиме разработки VCL Forms Application.