Дата публикации: 16.01.2008
Обновлено: 13.07.2017

Firebird ODBC, InterBase ODBC или OLE DB? Выбираем драйвер для InterBase и Firebird.

Введение
Преимущества использования стандартных интерфейсов
Что такое ODBC драйвер?
Источники данных ODBC
Альтернатива ODBC — OLE DB провайдер.
Источники данных OLE DB
Управляющие последовательности ODBC (ODBC Escape Sequences)
ADO и DAO
Интеграция с Microsoft Office
.Net Framework
Microsoft MS SQL Server
Business Intelligence
ODBC Firebird, ODBC InterBase или все же OLE DB?
Заключение
Дополнительная информация с сайта IBProvider
Полезные ссылки

Keywords: OLE DB провайдер, Firebird ODBC драйвер, InterBase ODBC драйвер, работа с Firebird, InterBase; доступ, подключение к Firebird, InterBase; ADO .Net, ADO, DAO, ibprovider, gemini, easysoft

Введение

Часто приходится слышать о том, что многие не понимают различия между технологиями ODBC и OLE DB. Иногда между ними даже ставят знак равенства. В статье рассматривается сходство этих технологий и их различие.

На примере баз данных Firebird и InterBase даны рекомендации, которые помогут вам при выборе средства доступа.

Преимущества использования стандартных интерфейсов

Обе технологии разрабатываются компанией Microsoft. Основное их предназначение — это изолировать клиента от особенностей реализации источника данных, предоставив ему стандартный интерфейс доступа.

    Можно выделить следующие преимущества такого подхода:
  • Независимость клиентского приложения от деталей реализации источника данных.
  • Легкий переход между версиями серверов баз данных.
  • Возможность работы приложения с несколькими серверами баз данных.
  • Поддержка со стороны большого числа средств разработки.

Идея состоит в том, что разработчикам легче реализовать один стандартный интерфейс, чем поддерживать множество базы данных с различным API.

Что такое ODBC драйвер?

ODBC — Open Database Connectivity («Открытый интерфейс взаимодействия с базой данных»)

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

ODBC драйвер представлял собой реализацию ODBC API на языке C. Вызовы ODBC API транслировались на API конкретной базы данных.

Достоинство технологии — это её кросс-платформенность. Сторонняя разработка unixODBC позволяет использовать ODBC драйвера на Unix.

Источники данных ODBC

Всю информацию об источниках данных и ODBC драйверах Windows хранит в реестре. Обращение к БД происходит по имени зарегистрированного источника данных DSN (Data Source Name), Таким образом, перед использованием источник данных необходимо зарегистрировать на компьютере пользователя.

Зарегистрировать новое подключение можно через «Администратор источника данных» (Control Panel->Administration->Источники данных ODBC).

Альтернатива ODBC — OLE DB провайдер.

OLE DB (или OLEDB) — Object Linking and Embedding, Database. Технология OLE DB появилась позже ODBC и стала развитием идей корпорации Microsoft о стандартных интерфейсах доступа к данным.

OLE DB, в отличие от ODBC, является объектно-ориентированным API, основанным на COM-интерфейсах.

OLE DB провайдеры могут работать не только с реляционными базами данных, но и с любой другой информацией которую можно представить в табличном виде. Например: OLE DB провайдер для служб каталогов или Jet OLE DB провайдер, позволяющий извлекать данные из Excel и Outlook.

Справка:
В OLE DB можно работать и с ODBC драйвером при помощи специального провайдера (OLE DB Provider for ODBC drivers), который умеет подключаться к источникам данных ODBC. Данная схема помогала в случае отсутствия OLE DB провайдера для конкретной базы данных. На сегодняшний день поддержка этого драйвера прекращена.

Источники данных OLE DB

Для подключения через OLE DB не требуется регистрация источника данных в системе, как это принято в ODBC. Вся информация хранится либо в файлах с расширением udl, либо указывается непосредственно в строке подключения.

Для редактирования подключения OLE DB с расширением udl ассоциирован редактор связей с данными Data Link. Он поддерживает расширенную настройку провайдера данных за счет включения в свой интерфейс дополнительных страниц, о которых ему сообщает выбранный OLE DB провайдер.

Чтобы запустить редактор Data Link создайте пустой файл с расширением udl и запустите его на выполнение.

Управляющие последовательности ODBC (ODBC Escape Sequences)

Развитие языка SQL сделало его реализации в различных базах данных несовместимыми между собой. Для решения проблемы совместимости были предложены управляющие последовательности ODBC (ODBC Escape Sequences). Они позволили писать SQL запросы, которые были бы совместимы с большинством баз данных.

Поддержка управляющих ODBC последовательностей есть во многих базах данных. Для Firebird и InterBase технология ODBC Driver Escape Sequences доступна через IBProvider — OLE DB провайдер для Firebird и InterBase.

ADO и DAO

DAO — это Data Access Objects (объекты доступа к данным). Библиотека позволяла работать с базами данных через ODBC драйвера. Разработка технологии прекращена в 2001 году.

ADOActiveX Data Objects (ActiveX-объекты для доступа к данным). Библиотека для работы с OLE DB провайдерами. Приобрела большую популярность среди разработчиков Windows-приложений, т.к. обладает более простым высокоуровневым интерфейсом чем OLE DB.

Компоненты ADO спроектированы достаточно хорошо, по многим возможностям даже превосходят более новую технологию ADO .Net. К примеру, в ADO .Net отсутствует возможность Fetch Backwards для курсоров, нет стандартного способа прочитать и записать свойства OLE DB, не реализована поддержка параллельных транзакций в одном подключении.

Библиотека ADO поддерживается следующими средствами:

  • в Visual Studio: Visual C++ и Visual Basic;
  • Microsoft Office, Visual Basic For Applications.
  • Скриптовые языки VBcript, JavaScript, WSH
  • Остальные, поддерживающие COM.

И ADO и DAO входят в состав MDAC — Microsoft Data Access Components.

Интеграция с Microsoft Office

Средства Microsoft Office поддерживают загрузку данных и через OLE DB и через ODBC. Полноценное использование всех офисных средств управления данными зависит от возможностей конкретных OLE DB провайдеров и ODBC драйверов.

Для пользователей Firebird и InterBase такая поддержка есть.

.Net Framework

Все больше разработчиков выбирают среду .Net Framework для новых проектов. Для OLE DB и ODBC в ADO .Net реализованы соответствующие .Net провайдеры:

  • ODBC .Net Data Provider
  • OLE DB .Net Data Provider

Статья о том, как работать с Firebird в .Net через OLE DB .Net Data Provider.

Microsoft MS SQL Server

SQL Server позволяет обращаться из Transact SQL к базам данных других серверов, включая Firebird и InterBase через технологию Linked Server.

Linked Server взаимодействует только с OLE DB провайдерами и не поддерживает ODBC дравейра.

Для того чтобы испольовать ODBC драйвер, необходимо подключать дополнительный слой — OLE DB провайдер для ODBC драйверов и организовывать подключение типа Firebird/InterBase -> ODBC -> OLEDB ->MS SQL Linked Server. Данная схема будет не совсем эффективной и скорее является временным решением, чем постоянным.

Microsoft в своих решениях постепенно отказывается от поддержки стандарта ODBC, предлагая взамен OLE DB и ADO .Net провайдеры.

Business Intelligence

В состав SQL Server входят три средства Business Intelligence:

  • Integration Services (SSIS) — визуальное средство для переноса данных.
  • Analysis Services (SSAS) — OLAP система.
  • Reporting Services (SSRS) — позволяет разрабатывать отчетные системы.

Они позволяют работать с OLE DB и .Net провайдерами, но не имеют полноценной поддержки ODBC.

ODBC Firebird, ODBC InterBase или все же OLE DB?

ODBC драйвера

Gemini InterBase/Firebird ODBC Driver — проект не поддерживается с марта 2005 года. Сайт: http://www.ibdatabase.com/

ODBC драйвера Easysoft распространяются отдельно для Firebird и отдельно для InterBase:

Easysoft ODBC-InterBase Driver — заявлено о поддержке InterBase 6. IB 6.5 IB 7 и IB 7.5. Страница компонента.

Easysoft ODBC-Firebird Driver — заявлено о поддержке Firebird 1 и FB 1.5. Страница компонента.

На сайте Easysoft достаточно внушительный список ODBC драйверов, но нет информации о дате последних обновлений драйверов для Firebird и InterBase. Судя по номерам поддерживаемых версий, изменения происходили достаточно давно.

Для того чтобы скачать эти драйвера, необходимо зарегистрироваться на сайте EasySoft.

OLE DB

IBProvider Professional Edition — поддерживает 19 InterBase и Firebird, включая InterBase XE7 и Firebird 3.0, и автоматически настраивается на работу с каждым из них. Самостоятельно определяет ключевые слова, подключает оптимизирующие алгоритмы, набор метаданных, парсер SQL и ODBC и т.д.

В состав решения входят 2 OLE DB провайдера. Подробнее о назначении каждого читайте здесь

Прямая ссылка для скачивания IBProvider Professional Edition

Заключение

На мой взгляд, выбор технологии доступа для Firebird и InterBase очевиден, но, несмотря на это каждый месяц посетители поисковых систем ищут магические ODBC Firebird driver и ODBC InterBase driver для создания новых приложений.

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

Дополнительная информация с сайта IBProvider

Вы так же можете подписаться на новости и обновления документации на нашем сайте. В начале статьи расположена форма подписки!

Полезные ссылки


Дата публикации: 16.01.2008. Права на материал принадлежат: IBProvider. При перепечатке ссылка на сайт https://www.ibprovider.com/rus обязательна.