Члены Grand Ole Opry
- 1 year ago
- 0
- 0
OLE DB ( англ. Object Linking and Embedding, Database , иногда записывается OLEDB , OLE-DB ) — набор COM - интерфейсов , которые позволяют приложениям унифицировано работать с данными разных источников и хранилищ информации. Разработана Microsoft в качестве дальнейшего развития технологии доступа к данным и должен был прийти на замену и в качестве преемника ODBC , расширяя набор функций для поддержки более широкого круга нереляционных источников данных, таких как объектно-ориентированные базы данных или электронные таблицы , и для которых не обязательно использовать SQL .
OLE DB отделяет хранилище данных от приложения, которое должно иметь доступ к нему через набор абстракций, состоящий из источника данных (DataSource), сессии (Session), команды (Command) и набора строк (Rowset). Это было сделано для предоставления унифицированного доступа к различным видам и источникам данных и изоляцию специфики взаимодействия с конкретным хранилищем. OLE DB концептуально разделена на потребителей (клиентов) и поставщиков (провайдеров). Потребителем является приложение, которому необходим доступ к данным, а поставщик реализует интерфейс доступа к данным и, следовательно, обеспечивает информацией потребителя.
Спецификация OLE DB является частью Microsoft Data Access Components (MDAC), представляющей собой группу технологий Microsoft, формирующих основу для единого и всеобщего способа разработки приложений для доступа к данным практически любого хранилища. В состав MDAC входят, к примеру, сервисы OLE DB (пул подключений и прочее) и компоненты ADODB.
Провайдеры OLE DB могут предоставлять доступ как к простым хранилищам данных, в виде текстовых файлов и электронных таблиц, так и к «настоящим» базам данных под управлением Oracle Database , Microsoft SQL Server , Sybase ASE , Firebird и Interbase . Также возможен доступ и к иерархическим хранилищам данных таких, как системы электронной почты.
Поскольку различные хранилища данных могут иметь разные возможности, поставщики OLE DB, как правило, не поддерживают все интерфейсы, описанные в спецификации OLE DB. Доступные возможности поставщика данных определяются через запрос указателей на COM интерфейсы его объектов или через чтение информационных свойств источника данных (DataSource). Отметим, что поставщик данных может реализовывать и предоставлять свои собственные COM-интерфейсы и структуры данных, не описанные в спецификации OLE DB.
Существует устойчивое мнение, что OLE DB ориентирован в большей степени на MS SQL, однако это не так. Типы данных «массивы» и несколько параллельных транзакций в рамках одного подключения, поддерживаемых спецификацией OLE DB, в MS SQL не поддерживаются, но присутствуют в других серверах баз данных (Firebird, Interbase). Если и есть некая «ориентированность», то она распространяется только на операционную систему. Поскольку OLE DB основано на COM-технологии, а полноценная поддержка COM есть только в Windows, то OLE-DB-провайдеры существуют только для операционных систем семейства Windows.
Долгое время Microsoft рекомендовала использовать OLE DB взамен ODBC , но с анонсом Microsoft SQL Server 2014 было объявлено , что прекращается поддержка «родного» OLE DB для этого продукта и остаётся только поддержка ODBC. Скорее всего это относилось к «чистому» OLE-DB-провайдеру для MSSQL (SQLOLEDB), а не к «Native SQL Client» (SQLNCLI), в котором были объединены провайдеры OLE DB и драйверы ODBC. Однако со стороны это выглядело как полный отказ от OLE DB как от технологии. В октябре 2017 года было объявлено об ошибочности этого решения и анонсирован выпуск обновленного OLE DB провайдера для MSSQL .