- PR -

ADO.NETとODBCの比較

投稿者投稿内容
Dra
大ベテラン
会議室デビュー日: 2004/10/04
投稿数: 111
投稿日時: 2006-06-30 01:04
現在、VB.NETでのシステム開発でデータアクセスにADO.NETを使用しています。ある人からなぜODBC経由ではないの?との質問があがっています。特に今まで気にしたことはなかったのですが、どのように回答すれば正しいのでしょうか?
どのようなメリット・デメリットがあるのでしょうか?
抽象的な質問で申し訳ありませんがお願いいたします。
甕星
ぬし
会議室デビュー日: 2003/03/07
投稿数: 1185
お住まい・勤務地: 湖の見える丘の上
投稿日時: 2006-06-30 07:10
質問の意味が不明です。ADO.NETは.NET用のデータブロバイダの共通仕様です。ODP.NETもADO.NETに準拠しています。貴方の言う「ADO.NETを使用しています」とか「ODBC経由」の意味するところはなんですか?

一般にODBCを使った場合には、データベースの最小公約数的な機能しか用いることは出来ません。そのデータベースに特化した機能を生かすためには、データベースに特化したデータブロバイダを用いる必要がある、と言う所ではないでしょうか。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-06-30 08:23
引用:

Draさんの書き込み (2006-06-30 01:04) より:

ある人からなぜODBC経由ではないの?との質問があがっています。
特に今まで気にしたことはなかったのですが、どのように回答すれば正しいのでしょうか?


対象となる RDBMS がわかりませんが、ひとつの例をあげますと、
Oracle の場合、ODP.NET であれば 「配列バインド」 が使えます。
また、レスポンスも最適化されるようです。(データ型によっては、その差は大きい)

ODBC を使うような場面はそうないでしょう。
それとも、対象の RDBMS が一意に決まっていないのでしょうか?

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
unibon
ぬし
会議室デビュー日: 2002/08/22
投稿数: 1532
お住まい・勤務地: 美人谷        良回答(20pt)
投稿日時: 2006-06-30 08:38
引用:

Draさんの書き込み (2006-06-30 01:04) より:
現在、VB.NETでのシステム開発でデータアクセスにADO.NETを使用しています。ある人からなぜODBC経由ではないの?との質問があがっています。特に今まで気にしたことはなかったのですが、どのように回答すれば正しいのでしょうか?


回答例(1) そこに ADO.NET があるから。
回答例(2) 「『なぜODBC経由ではないの?』と質問するの?」と質問する。

ODBC のメリットは、昔からある枯れた規格であり、Windows に限定されないオープンな規格であることです。
ODBC のデメリットは、オープンな規格と言いつつも結局は Windows だけでしか使われていない中途半端で、昔臭い規格であることです。

--
unibon {B73D0144-CD2A-11DA-8E06-0050DA15BC86}
Dra
大ベテラン
会議室デビュー日: 2004/10/04
投稿数: 111
投稿日時: 2006-06-30 08:46
甕星さん、じゃんぬねっとさん、unibonさんありがとうございます。
質問がわかりづらく申し訳ありませんでした。

やはりレスポンスの部分が大きいのでしょうか・・・
RDBMSはSQLServerを使用しています。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2006-06-30 19:13
 まぁ、「ある人」なわけですが、あなたとその人の関係によって、説明の仕方を変えなければならないと思うのですが、いかがでしょう?

 社内の、上司や同僚なら、技術的に突っ込んで説明しなければならないでしょうし、
社内でも営業さんなら、技術的なことよりも、速さや機能性などのメリットに重点を置くべきでしょう。
顧客に対してなら、適当に流しても良いかもしれません。

 で、これ→ADO.NET基礎講座 第2回 link to Insider.NET

 2つ目の図(「.NET Frameworkに含まれる4つの.NETデータ・プロバイダ」)をもとにすれば、どれにでも対応できるでしょう。
(「OLD DB」って、「OLE DB」のタイプ ミスだと思う)
わちゃ
大ベテラン
会議室デビュー日: 2005/12/05
投稿数: 162
お住まい・勤務地: 東京
投稿日時: 2006-06-30 21:05
実際のところ、私の誤った推測かもしれませんが、単に VB .Net の書籍などで ADO .Net がメインで紹介されているからというのが使用者の理由の80%ぐらいではないでしょうか。


というわけで、自分だったらこう答えるかな。


回答例1:
「VB .Net では、ほとんどの本が ADO .Net だし、それが多いみたいよ」

回答例2:
「今どき、ODBC なんて、言ってるの?今の流行は ADO .Net だよ!」



昔のものの方がいい事もあるとは思います。
例えば、NetBEUI の方が LAN 上のパフォーマンスがいいです。
しかそ、その理由で、NetBEUI を主に使っていたり、TCP/IP と使い分けている人もあまりいないと思います。

ほとんどは、新しく出たものは、いろんな意味でトータルバランスにすぐれ、その時々の書籍にも多く紹介されてきます。


必ずしも良いものが多く使われるとは限りません。

#にわとりと、たまご系ですが、
流行ったものが、多く使われます。

そして、特にしがらみがなければ、たいがいの場合、流行に乗るのが、よいと思います。


そういう意味で、先ほどの回答例2は、いい加減な回答のようでいて、正鵠を得ているように感じます。


[ メッセージ編集済み 編集者: わちゃ 編集日時 2006-06-30 21:12 ]
ina
ベテラン
会議室デビュー日: 2005/04/14
投稿数: 58
投稿日時: 2006-06-30 21:19
一部分だけ抜粋してなんですが
引用:

わちゃさんの書き込み (2006-06-30 21:05) より:

というわけで、自分だったらこう答えるかな。

回答例1:
「VB .Net では、ほとんどの本が ADO .Net だし、それが多いみたいよ」
回答例2:
「今どき、ODBC なんて、言ってるの?今の流行は ADO .Net だよ!」




以下のページの記事が真っ先に思い浮かんでしまいました....
http://www.atmarkit.co.jp/farc/rensai/28it02/28it02.html

スキルアップ/キャリアアップ(JOB@IT)