これが私の理解です(非公式):
ODBC は、テクノロジにとらわれないオープン スタンダードであり、ほとんどのソフトウェア ベンダーによってサポートされています。OLEDB は、 COM 時代のテクノロジ固有の Microsoft の API です (COM は .NET より前のコンポーネントおよび相互運用テクノロジでした)。
ある時点で、さまざまなデータ ソース ベンダー (たとえば、Oracle など) が、Microsoft データ コンシューマーとの互換性を望んで、自社製品用の OLEDB プロバイダーを開発しましたが、ほとんどの場合、OLEDB は Microsoft のみの標準のままです。現在、ほとんどのMicrosoftデータ ソースは、主に従来の ODBC データ コンシューマーとの互換性のために、ODBC と OLEDB の両方のアクセスを許可しています。また、必要に応じて OLEDB を使用して ODBC データ ソースにアクセスできるようにする、ODBC 用の OLEDB プロバイダー (ラッパー) も存在します。
機能の点では、OLEDB は ODBC よりも大幅に豊富ですが、1 つのリングからすべてを支配する症候群 (過度に一般的、過度に複雑、独断的) に悩まされています。
Microsoft 以外の世界では、ODBC ベースのデータ プロバイダーとクライアントが広く使用されており、どこにも行きません。
Microsoft バブルの中で OLEDB は段階的に廃止され、そのデータ ソースのネイティブ トランスポート層が何であれ (MS SQL Server の TDS など) 上に構築されるネイティブ .NET API が優先されます。