プロが教える店舗&オフィスのセキュリティ対策術

違いが良くわかりません。下記はあるHPで見かけた説明なのですが、自分の環境にはどちらがいいのか決めかねています。
皆さんはどうされていますか?


>>>>>>>>>>>>>>>>>>>>>>
ADO ってのは、ActiveX Database Object の頭文字で、"ActiveX" が示すとおり、OLE を介してデータベースにアクセスする標準インターフェースのことのようです。詳しくはマイクロソフトなり関連雑誌になり当たってください。
 DAO ってのは、Data Access Object の頭文字で、Jet エンジンにアクセスするときに使うインターフェースです。扱いが簡単なので長く使われています。

ADO ってのは、ActiveX Database Object の頭文字で、"ActiveX" が示すとおり、OLE を介してデータベースにアクセスする標準インターフェースのことのようです。詳しくはマイクロソフトなり関連雑誌になり当たってください。
 DAO ってのは、Data Access Object の頭文字で、Jet エンジンにアクセスするときに使うインターフェースです。扱いが簡単なので長く使われています。

A 回答 (2件)

>自分の環境にはどちらがいいのか決めかねています。


環境内容が書いてありませんが・・
ADOかDAOかを決めるのであれば一般的に言えば
ADOはOLEDBプロバイダを介してデータベースにアクセスするアプリケーションインターフェイスでLAN上のAccessファイル・SQLServer・Oracleなどへ簡易に接続できる点がDAOと大きく異なるところです。DAOはODBCで接続するようになるので。
ローカル環境ではDAOをLANやWEB環境ではADOを利用する選択をすることもできます。
MSのMSDNライブラリではDAOは単一システムのアプリケーションや小規模でローカルなネットワークで使用するのに最も適しています。と書かれているところもあります。
DAOはデータベースにAccessデータベースを使用するアプリケーションの場合に良いパフォーマンスを得ることができますがアプリケーションの規模が大きくなってデータベースをSQLServerに移行する場合はADOで開発しておいたほうが無難だと思います。
VBを使ってMdbファイルを使うならどちらでも使い慣れている方を選べばいいと思います。
どの様な開発をつすのかによって選べば良いのではないかと思うのですが。
    • good
    • 0
この回答へのお礼

ありがとうございます。
こんな雑多な質問に答えていただき感謝します。

ADOと、DAOの違いがなんとなくわかってきました。
環境についてですが、
開発はACCESS-VBA、LAN上のファイルサーバーにMDB(データ部)を置きます。
プログラム部として、MDEを作成し各PCに配布する予定です。
SQLServer・Oracleは現在のところ考えておりませんが、データ(テーブル一つ)が1Gを超えている為将来的には導入する可能性もあります。
現在のところこの方法で問題ないのですが、考えてみるとDAO・ADOの違いが良くわかってませんでした。
MS-ACCESS95でしか開発経験がありませんでした。

ありがとうございました。

お礼日時:2006/08/25 09:41

ちょっと古い本ですが、「Accessデータベース上級テクニック」日経BP(2001年)に、以下のような解説があります。


***********
DAOに比べるとJetデータベースに対する機能がいくつか欠けていたのは事実です。しかし、その後ADOは急速にアップデートされ
<中略>
むしろデータ・コンポーネントとしてはADOの方が強力なところもあります。
 しかも、DAOの今後の機能改善はあまり見込めません。<中略>
.NET構想のデータ処理の中核をになうものとして「ADO.NET」というADOをさらに進化させた仕様を打ち出しています。今後ADOはさらに機能強化されていくものと思われます。
*************
ご参考までに
    • good
    • 0
この回答へのお礼

これからはADOなのですね。

そのうちSQLserver使わなくても
サイトのデータベースにAccessServerみたいなので出来るようにしたいのかな

貴重な情報を有難うございました。

お礼日時:2006/08/26 11:26

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!