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