web-dev-qa-db-ja.com

adodbとoledbの違いは何ですか?

adodboledbの違いは何ですか?

これら2つの関係は何ですか?

どこでやる ado.netadodbおよびoledb?のコンテキストに立っていますか?

35
TheVillageIdiot

Adodb(ActiveX Data Objects DB) は、OLE DB上のAPIレイヤーです。SQLServerなどのMSベースのデータベースと連携して、一貫したAPIと最適化を提供します。ADODBを使用してMS以外のデータソースと接続することもできますが、それはデータソースにOLEDB/ODBCプロバイダーが必要になることを意味します。

簡単に言えば、任意のデータソースに接続するには、ドライバーが必要です。よく考えられるいくつかの一般的なシナリオを次に示します。

  1. ODBC Driver Only-ADODBは、ODBCをロードするODBCドライバーを接続するOLEDBプロバイダーを使用しますデータソースへ。
  2. OLEDBドライバー(SQL Serverなど)を使用したデータソース用のADODB-ADODBは、SQL Server用のOLEDBプロバイダーを使用してDBと直接通信します。

Oledb(Object Linking and Embedding DB) は多数のデータベースでサポートされる標準形式であるため、Oledbを使用してOracle、db2などに接続できます。 OLEDBを直接使用してSQL Serverに接続することもできますが、APIは、SQL ServerおよびMS Accessで動作するように最適化されたadodb接続と比較してより複雑です。

ADO.Netは、.Netベースのdb接続「アーキテクチャ」です。 ADO.Netには、OledbのライブラリSystem.Data.OledbClientがあります。 Adodbは置き換え/アップグレードされ、ADO.NetはMSベースのデータベース/データプロバイダーにSystem.Data.SqlClientライブラリを使用するようになりました。

38
Sidharth Panwar
  • ADOは、データベースにアクセスするためのCOMベースのライブラリです。
  • OleDBとODBCは、データベースと通信するための標準です。
  • ADOはOleDBを使用して、OleDBドライバーを公開するデータベースと通信します。
  • ODBCドライバーをラップできるOleDBドライバーもあります。したがって、ADOは、ODBCドライバーを公開する任意のデータベースとも通信できます。

  • ADO.NET(別名:System.Data)は、データベースにアクセスするための.NETベースのライブラリです。
  • ADO.NETには、SQL Server、OleDB、およびODBCの組み込みサポートがあります
  • サードパーティは、ADO.NET互換ライブラリを構築することにより、データベースをADO.NETに公開できます。
  • サードパーティは、OleDBまたはODBCドライバーを提供することにより、ADO.NETにデータベースを公開することもできます。
8
Jonathan Allen