アプリケーションで各種のデータ ソースに対するアクセスおよび修正を可能にするためのアプリケーション プログラミング インターフェイス (API) は、簡単で一貫性のあることが望まれます。データ ソースには、テキスト ファイルのような単純なものもあれば、異種データベースの集合体のような複雑なものもあり、今後もさらに多様なデータ ソースの開発が予想されます。また、API は、データソースに対するアクセスおよび操作の手段としては使わないでください。
これらは一般的な条件ですが、代表的なデータ ソースは、オープン データベース コネクティビティ (ODBC) の規格に対応し、構造化照会言語 (SQL) で記述されたコマンドで操作するリレーショナル データベースとなっています。
この問題に対して Microsoft が提供する汎用ソリューションが、OLE DB です。OLE DBは、さまざまな情報ソースに格納されたデータに対して一貫したアクセス手法を提供する、Component Object Model (COM) インターフェイスのセットです。ただし、OLE DB アプリケーション プログラミング インターフェイスは、さまざまなアプリケーションに最適な機能を提供するために設計されており、簡易性を考慮したものではありません。
アプリケーションと OLE DB の間には、橋渡し役となる API が必要です。ActiveX データ オブジェクト (ADO) が、その橋渡し役になります。
ADO では、データ ソースに対するアクセスおよび更新に必要な一連の操作をまとめた "プログラミング モデル" を定義しています。プログラミング モデルは、ADO の機能全体の概要を示します。
プログラミング モデルでは、"オブジェクト モデル" を提案しています。オブジェクト モデルは、プログラミング モデルに対応し、実装を実現するための "オブジェクト" のセットです。各オブジェクトは、データの操作を実行するための "メソッド" と、データの属性を表したり、メソッドの動作を制御するための "プロパティ" を持っています。
オブジェクトには、何らかの操作が発生したか、またはこれから発生することを通知する "イベント" が関連付けられます。