ODBCとOLEDBの違い

Anonim

ODBC対OLEDB

でクエリを受け入れます。通常、ソフトウェアアプリケーションは特定のプログラミング言語(Java、C#他のデータベース固有の言語(SQLなど)でクエリを受け入れることができます。したがって、ソフトウェアアプリケーションがデータベース内のデータにアクセスする必要がある場合は、言語を相互に変換できるインターフェイス(アプリケーションとデータベース)が必要です。それ以外の場合、アプリケーションプログラマは、アプリケーション内でデータベース固有の言語を学び、組み込む必要があります。 ODBC(Open Database Connectivity)とOLEDB(Object Linking and Embedding、Database)は、この特定の問題を解決する2つのインターフェイスです。 ODBCは、この目的のために使用できるプラットフォーム、言語、およびオペレーティングシステムに依存しないインターフェイスです。 OLEDBはODBCの後継製品です。

<! --1 - >

ODBCとは何ですか?

ODBCはデータベース管理システム(DBMS)にアクセスするためのインタフェースです。 ODBCは1992年にSQL Access Groupによって開発されましたが、データベースとアプリケーションの間で通信するための標準的な媒体はありませんでした。特定のプログラミング言語、データベースシステム、またはオペレーティングシステムに依存しません。プログラマーは、ODBCインターフェースを使用して、実行中の環境または使用するDBMSのタイプに関係なく、任意のデータベースからデータを照会できるアプリケーションを作成できます。

ODBCドライバはアプリケーションとデータベース間のトランスレータとして機能するため、ODBCは言語とプラットフォームの独立性を実現できます。これは、アプリケーションがデータベース固有の言語を知る負担から解放されることを意味します。代わりに、ODBS構文のみを認識して使用するため、ドライバはクエリを理解できる言語でデータベースに変換します。次に、結果はアプリケーションが理解できる形式で返されます。 ODBCソフトウェアAPIは、リレーショナルデータベースシステムと非リレーショナルデータベースシステムの両方で使用できます。アプリケーションとデータベースの間で普遍的なミドルウェアとしてODBCを使用することのもう1つの大きな利点は、データベース仕様が変更されるたびにソフトウェアを更新する必要がないことです。 ODBCドライバーの更新で十分です。

OLEDBとは何ですか?

OLEDBはMicrosoftによって開発されたデータAPIです。これにより、広範なデータソースからのデータにアクセスすることができます。 MicrosoftのCOM(Component Object Mode)を使用して実装されています。 OLEDBはODBCの後継とみなされ、ODBCと比較してはるかに高いレベルでデータソースを処理できます。本質的に、OLEDBは、ODBC機能を非リレーショナルデータベース(例えば、オブジェクトデータベースおよびスプレッドシート)に拡張する。つまり、OLEDBはSQLを使用しないデータベースで使用できます。 OLEDBは、Microsoft Data Access Components(MDAC)の一部として開発されました。

ODBCとOLEDBの違いは何ですか?

プログラマーがCOMに慣れていない場合、ODBCがより良い選択肢です。しかし、ODBCはリレーショナルデータベースにのみ適していますが、OLEDBはリレーショナルデータベースと非リレーショナルデータベースの両方に適しています。データベースがOLE(非OLE環境)をサポートしていない場合は、ODBCが最適です。環境が非SQLの場合は、OLEDBを使用する必要があります(ODBCはSQLのみで動作するため)。同様に、相互運用可能なデータベースコンポーネントが必要な場合は、ODBCの代わりにOLEDBを使用する必要があります。ただし、16ビットデータアクセスの場合、ODBCは唯一のオプションです(OLEDBは16ビットをサポートしません)。最後に、OLEDBは一度に複数のデータベースに接続するのに最適です(ODBCは一度に1つのデータベースにしか接続できません)。