DXR165の備忘録

自分用の備忘録です。

ADO ( ActiveX Data Object )  

ADO はアプリケーションがデータアクセスをするための橋渡しをする役目をしていて、同一手法でOracle、SQL Server、Jet/ACE、Excel、CSVなどのデータにアクセスできるメリットがあります。Access VBA を解説するサイトなどではDAO とセットでよく解説されています。

ADO の実体はつかみにくいですが、OLE DBを直接動かすかわりに、間に入る仲介役といえるでしょう。なぜ、わざわざ仲介役を入れるかというと、プログラミングが楽になるからです。ここで、重要なことは「ADO はOLE DB を動かすものである」ということです。

OLE DB とはODBCにかわるもので、RDBMSはもとより、電子メール、テキストファイルなども同一手法でアクセスできるようにするためのもので、これもデータ(RDBMSなど)とアプリケーションの間に入る仲介役です。OLE DBには各データソース別にOLE DBプロバイダが必要です。

OLE DBプロバイダは各データベース製品の供給元から提供されるようです。現在(2012/10/10)のところ、最新のAccess 2010(Jet/ACE 14.0)に対応するOLE DBプロバイダは提供されています。


現在(2012/10/09)ADOの指向を受け継ぐものとして新しいデータアクセス手法としてADO.NETが登場しています。しかし、ADO.NETは.NET開発環境があるものでしか使えないようで、Access やExcel のVBAからは使えないようです。また、ADO.NETはOLE DBとは関係ないようです。
2012/10/10 記事修正 ADO.NETでJet/ACE データベースやExcel、CSVなどにアクセスする場合はOLE DBを使用しているようです。

Access 2007 または2010 のデータベース用のOLE DBプロバイダはマイクロソフトのサイトからダウンロードできるようです。

主なOLE DBプロバイダー

"Microsoft.JET.OLEDB.4.0" (Jet 4.0用のOLE DB プロバイダ)
"Microsoft.ACE.OLEDB.12.0"(Access 2007以降のaccdbを使うとき)


概念図 Excel 2003 VBA から mdb ( Access 2000形式 ) へ ADO でアクセス

Excel VBA
    |
ADO
    |
OLE DB Interface
    |
"Microsoft.JET.OLEDB.4.0" (Jet 4.0用のOLE DB プロバイダ)
    |
Jet 4.0
    |
mdb ファイル



参考 Excel 2003 VBA から mdb ( Access 2000形式 ) へ DAO でアクセス

Excel VBA
    | 
DAO 3.6
    |
Jet 4.0
    |
mdb ファイル
関連記事

category: Access その他

tb: 0   cm: 0

コメント

コメントの投稿

Secret

トラックバック

トラックバックURL
→http://dxr165.blog.fc2.com/tb.php/119-6f8dc036
この記事にトラックバックする(FC2ブログユーザー)

プロフィール

最新コメント

カウンター(2012/3/10以降)