\r\n\r\n
ODBCとOLEDB
一般的に、ソフトウェアアプリケーションは特定のプログラミング言語(Java、C#など)で書かれ、データベースは他のデータベース固有の言語(SQLなど)からのクエリーを受け付けます。そのため、ソフトウェアアプリケーションがデータベースのデータにアクセスする必要がある場合、お互いの言語(アプリケーションとデータベース)を翻訳できるインターフェースが必要になる。ODBCは、プラットフォーム、言語、オペレーティングシステムに依存しないインターフェースで、この目的のために使用することができます。
ODBCとは?
ODBCとは、データベース管理システム(DBMS)にアクセスするためのインターフェースで、データベースとアプリケーション間の標準的な通信媒体がなかった1992年にSQL Access Groupによって開発された。特定のプログラミング言語やデータベースシステム、オペレーティングシステムに依存することはありません。プログラマーはODBCインターフェイスを使ってアプリケーションを書くことができ、これらのアプリケーションは、実行環境や使用するDBMSの種類に関係なく、あらゆるデータベースからデータを照会することができる。
ODBCドライバは、アプリケーションとデータベースの間のコンバータとして機能するため、ODBCは言語やプラットフォームの独立性を可能にします。つまり、アプリケーションはもはやデータベース固有の言語を知る必要はないのだ。その代わり、ODBSの構文だけを知って使用し、ドライバが理解できる言語でクエリをデータベースに変換します。ODBCソフトウェアAPIは、リレーショナルデータベースシステムと非リレーショナルデータベースシステムの両方に使用することができます。また、アプリケーションとデータベース間の共通ミドルウェアとしてODBCを使用することで、データベースの仕様が変わるたびにソフトウェアを更新する必要がないことも大きなメリットである。ODBCドライバーの更新のみで十分です。
OLEDBとは?
OLEDBは、マイクロソフトが開発したデータAPIで、さまざまなデータソースからデータにアクセスすることができます。OLEDBはODBCの後継とされ、ODBCより上位のデータソースを扱うことができる。基本的にOLEDBは、ODBCの機能を非リレーショナルデータベース(オブジェクトデータベースやスプレッドシートなど)へ拡張するものです。OLEDBは、Microsoft Data Access Components(MDAC)の一部として開発された。
ODBCとOLEDBの違いは何ですか?