OLE DB

OLE DB (Object Linking and Embedding, Database) は、マイクロソフトによって開発されたAPIであり、様々な種類のデータにアクセスするための統一されたインターフェースを提供します。OLEDB、OLE-DBと表記されることもあります。このAPIは、Component Object Model (COM) を基盤として実装されたインターフェース群であり、OLEの技術と密接な関係があります。

OLE DBは、従来のODBCをより抽象化し、関係データベースだけでなく、オブジェクトデータベース表計算ソフトなど、SQLをサポートしないデータソースにも対応できるように拡張されています。これにより、アプリケーションは、データの格納形式や種類に関わらず、一貫した方法でデータにアクセスすることが可能になります。

OLE DBの設計思想は、データ格納域とアプリケーションを分離することにあります。データソース、セッション、コマンドなどの抽象化された概念を使用することで、アプリケーションはデータアクセスの詳細を意識することなく、データの読み書きを行えます。これは、アプリケーションが多様なデータソースにアクセスする際に、それぞれのデータソースに固有のアクセス方法を覚える必要がないことを意味します。

OLE DBの概念は、「コンシューマ」と「プロバイダ」という2つの要素に分けられます。コンシューマはデータを利用するアプリケーションであり、プロバイダはOLE DBインターフェースを実装したソフトウェアコンポーネントです。プロバイダは、コンシューマからのリクエストに応じてデータを提供します。OLE DBは、Microsoft Data Access Components (MDAC) スタックの一部として提供されており、MDACは、複数のマイクロソフト技術を統合したフレームワークとして機能し、開発者は様々なデータストアにアクセスするアプリケーションを、一貫した方法で開発できます。

OLE DBプロバイダは、テキストファイルや表計算ソフトのようなシンプルなデータストアから、Oracle、SQL Server、Sybase ASEといった複雑なデータベース、さらには電子メールシステムのような階層型データモデルまで、幅広いデータソースに対応できるように作成できます。しかし、データストアの種類が異なれば機能も異なるため、すべてのOLE DBプロバイダがOLE DBのすべてのインターフェースを実装できるわけではありません。プロバイダは、データストアの機能をCOMオブジェクトにマッピングし、可能な範囲でOLE DBインターフェースを実装します。マイクロソフトは、データストアの種類によっては適用できない可能性のあるインターフェースを「provider-specific」と称しています。また、プロバイダはデータストアの機能を拡張することができ、マイクロソフトはこれを「サービス」と呼んでいます。

Microsoftは、MDACとJETキットの一部として複数のOLE DBプロバイダを提供しています。また、Simba Technologiesは、OLAP用のOLE DBプロバイダを構築するためのSDKであるSimbaProviderを販売しています。OpenLink Softwareは、いくつかのSQL DBMSに対応したOLE DBプロバイダと、ODBCおよびJDBC用のOLE DBブリッジを提供しています。さらに、SQLSummit.comはOLE DBプロバイダのカタログを提供しており、InterbaseとFirebird用のOLE DBプロバイダは14種類のデータベースをサポートし、無料版も提供されています。また、PostgreSQL用のOLE DBプロバイダも利用可能です。

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。