OLEDB と ODBC の違いは何ですか? OLEDB ドライバーと ODBC ドライバーの違いはいつ、どのように判断すればよいですか?
1 に答える
OLEDB と ODBC は、2 つの異なるデータベース API です。ODBC は古い標準であり、実際には Windows 固有のものではありません。Unix ベースの ODBC ライブラリを入手できます。OLEDB は、データベース接続用の COM ベースの API です。
使用しているデータベースにネイティブの OLEDB ドライバーが付属していない場合、ODBC を OLEDB フロントエンドでラップするためのドライバーがあります。IIRC DB2/400 および Sybase OLEDB ドライバー (たとえば) は、この方法を使用します。
Windows の ODBC 管理者は、ODBC ドライバーのみに関心があります。ODBC と OLEDB の両方で、わずかに異なる形式の接続文字列を使用できます。接続文字列からわかります。www.connectionstrings.comには、さまざまなデータベース ドライバの接続文字列のサンプルがあります。
編集:オラクルには、毎日のドライバーテクノロジーがあります。
Oracleには、「OLEDB用のOracleプロバイダー」などと呼ばれるネイティブOLEDBドライバーがあります。ADO (非 .Net、OLEDB の上にある) を使用している場合、これが推奨されるドライバーになります。
また、 (たとえば) Oracle データベースから MS-Access に抽出する場合や、OLEDB をサポートしていないアプリケーションやシステムを使用する場合に役立つODBC ドライバーもあります。たとえば、古い Delphi/Oracle または Powerbuilder/Oracle アプリは、おそらくこのドライバーを使用します。
Oracle には、 OCIと呼ばれる Oracle 固有のインタフェースもあります 。これは、C で記述している場合は最速のインターフェイスであり、Windows 以外のプラットフォームでも動作しますが、アプリケーションを Oracle に結び付けます。Python 用のcx_Oracleなどの動的言語バインディングは、OCI のラッパーになる傾向があります。
.Net を使用している場合は、OLEDB 用の .Net を使用するのではなく、おそらくODP.Netが必要です。これは、Oracle が提供する標準の .Net インターフェイス ライブラリです。
Oracle 用のJDBC ドライバーはいくつかあります。OCI のラッパーであるタイプ 2 ドライバーと、Java でネイティブに記述され、ネットワークを介してサーバーと直接通信するタイプ 4 ドライバーがあります。Java を使用している場合、タイプ 2 ドライバーが必要な特別な理由がない限り、タイプ 4 ドライバーがおそらくほとんどのアプリケーションに最適です (完全な Oracle クライアントをインストールする必要はありません)。