気になった事を自由に書いてます。
      
更新:2011/11/11
OLE DBとADOを調べてみた
ODBCが発表されてから約4年後、OLE DBという新しいテクノロジーが登場しました。
OLE DBはリレーショナルデータベースのデータにアクセスするだけでなく、
非リレーショナルなデータのアクセスも可能とするテクノロジーです。

OLE DBの仕組みはODBCとよく似ています。
ODBCにおいて、データベースの種類ごとに固有のODBCドライバーを介してデータベース
にアクセスするのと同様に、OLE DBはデータの種類ごとに固有のOLE DBプロバイダーを
介してデータにアクセスします。

OLE DBの大まかなアーキテクチャは以下の通りです。



データソースの開発元からプロバイダーさえ提供されてれば、OLE DBインターフェース
を使用してデータソースにアクセスできます。
ただOLE DBはC++向けの技術であったため、VB(Visual Basic)やスクリプトからの利用は
容易ではありませんでした。これはVBやVBScriptなどがオートメーションサーバー
(オートメーションオブジェクト)を生成する方法が無かったためです。

そこで登場したのがADO(ActiveX Data Objects)です。
ADOはオートメーションサーバーでありVBやVBScriptからでも利用できました。
ODBCはリレーショナルデータベースのみでしたが、OLE DBは非リレーショナルデータを含む
様々なデータのアクセスを可能とします。


VBはADOを介してOLE DBのインターフェースへアクセスしプロバイダーを経てデータを
取得してたんですね。ADOとOLE DBに関連性があったとは知りませんでした。
更にADOはODBCの機能を用い、実現していると思ってましたが間違ってました。
こんな知識の浅い私でも、データベース絡みのアプリケーションを開発できてたと思うと
ADO、OLE DBの恩恵って素晴らしい。
でも、プロなら仕組みを知らずに作るのは良くないですね・・・。

      
参考文献



Effective C# 4.0
ビル・ワグナー
¥ 3,780



Copyright (C) 2011 - 2015 猫の気ままなC#日記