更新: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の恩恵って素晴らしい。 でも、プロなら仕組みを知らずに作るのは良くないですね・・・。
参考文献
|