- PR -

Oracleに適したデータプロバイダは?

投稿者投稿内容
まよかん
常連さん
会議室デビュー日: 2003/08/10
投稿数: 27
お住まい・勤務地: 大阪
投稿日時: 2003-08-13 01:09
かなり前に同じ話題が上がっていましたが、VS.MET2003から
新たなデータプロバイダが使用できるようになりました。
パフォーマンスの観点で見ると以下の2点の選択肢があると考えています。
・.NET Framework Data Provider for Oracle
・Oracle Data Provider for .NET
この2点で、どちらを使用しようか迷っています。
私個人の意見としては文字コードの問題や、MSがサポートしているかという
観点から「.NET Framework Data Provider for Oracle」が
いいのかなと思っています。
しかし、今イチ決め手に掛けていて迷っております。
不具合や何か問題などあるようでしたら教えていただけると
助かります。

よろしくお願いします。
ken
会議室デビュー日: 2003/08/12
投稿数: 7
投稿日時: 2003-08-13 19:16
どちらに合わせることにするか?という視点で決めれば良いのかな?
と思っています。

私は、基本的に処理のメインは、Oracleのパッケージで行い、結果は
全てref_curで返す。という方針にしたので、以下のような理由で
Oracle Data Provider for .NET を選択しております。

・データ型のマッピングなどに悩まされることがない
・あくまで.NET側は、インターフェースの提供としての用途以外は考えていない
 (あまり重い処理は、.NET側では行わない)

.NET Framework Data Provider for Oracle でもある程度問題なく
利用できるかもしれませんが、Oracleを使用するのであれば、Oracle
提供のデータプロバイダを利用したほうが、使い勝手が良いかなと
思っております。
どうなるか分からないですが、当然MSは、SQLServerをメインで考えて
いるとは思うので、.NET Framework Data Provider for Oracleは、
あくまで市場の要求として追加したに過ぎないのではないかと思います。

非常に主観的な意見となってしまいますが、ご参考になれば幸いです。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2003-08-18 08:29
ただ、.NET DP for Oracleはヘルプが日本語で読みやすいのよねぇ...
dbMaster
会議室デビュー日: 2002/12/03
投稿数: 1
お住まい・勤務地: Kobe
投稿日時: 2003-08-19 11:23
.NET DP for Oracle の方は、VS.NETの環境から直接使えます。
開発生産性を考えたら、こちらしかないと思います。
でも、「DB接続ドライバは、DBメーカーに合わせたほうが良い」的な
考えの人が沢山いるのも現実です。でも、その意味って結構慣習的な
部分が大きくて、現時点でどれほどの意味があるのかは?
(個人的意見ですが。。。)
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2003-08-19 13:22
引用:

dbMasterさんの書き込み (2003-08-19 11:23) より:
でも、「DB接続ドライバは、DBメーカーに合わせたほうが良い」的な
考えの人が沢山いるのも現実です。でも、その意味って結構慣習的な
部分が大きくて、現時点でどれほどの意味があるのかは?


 オラクル側ドライバ(名前が紛らわしいのでこういいます)を使うと、データベースのREF_CURSOR型が参照できたり、SQL文中のプレースホルダに変数名が使えるようになります。使う人にとっては大きな意味ではないでしょうか。

 また、マイクロソフト側ドライバはOracle8以降ですが、オラクル側ドライバはOracle9i限定です。言い換えれば、9i用にチューニングしてある可能性があります。

 また、「直接使える」というのも、参照設定すれば同じように使えますし、ヘルプも同じように統合されますし(ただし英語)、「生産性」面での優劣は、あまりないように思います(いや、英語でしかヘルプが供給されないのはえらい違いだけれどもね)。
toc
会議室デビュー日: 2003/10/08
投稿数: 15
投稿日時: 2003-10-08 10:36
古い話題のようで申し訳ありませんが、便乗して質問させていただきます。
よろしくお願いします。

引用:

 また、「直接使える」というのも、参照設定すれば同じように使えますし、ヘルプも同じように統合されますし(ただし英語)、「生産性」面での優劣は、あまりないように思います(いや、英語でしかヘルプが供給されないのはえらい違いだけれどもね)。



「直接使える」というのは VS開発環境でのデザイン時に使用できるということでしょうか?
現在、VB.NET+Oracle9iにてWINDOWSアプリケーション開発の調査を行っているのですが、マイクロソフト提供のプロバイダを使用した場合、データアダプタ構成ウィザードなどを使用してデータセットを作成することで、フォーム上のグリッド(GrapeCity社TrueDBGridNETを検討しています。)をある程度デザイン時に設定できますが、ODP.NETを使用しても同様のことが可能なのでしょうか?

Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2003-10-08 12:03
引用:

tocさんの書き込み (2003-10-08 10:36) より:

「直接使える」というのは VS開発環境でのデザイン時に使用できるということでしょうか?
マイクロソフト提供のプロバイダを使用した場合、データアダプタ構成ウィザードなどを使用してデータセットを作成することで、フォーム上のグリッドをある程度デザイン時に設定できますが、ODP.NETを使用しても同様のことが可能なのでしょうか?


 ツールボックスで右クリックし、「アイテムの追加と削除」を選択します。ODP.NET関係のチェックボックスに、チェックを入れます。これでツールボックスにODP.NET関係のコントロールが並びます。

 個々のコントロールの構成については、デザイナが付いていないので、プロパティを設定しなければなりません。

 データセットの生成までは試していませんが、どうもできそうです。
toc
会議室デビュー日: 2003/10/08
投稿数: 15
投稿日時: 2003-10-08 14:48
引用:

Jittaさんの書き込み (2003-10-08 12:03) より:
 データセットの生成までは試していませんが、どうもできそうです。



うーん、、できそうですか?
さきほどから試してはいるのですが、どうも「データセットの生成」ではダメで、
1.空のデータセットをコントロールとして配置
2.配置したデータセットのプロパティを編集してデータセットテーブル・列を作成
3.グリッドのデータソースに2のデータセットを指定してグリッドのデザイナで外観調整
4.実行時にコード上から2のデータセットにFillする
という手順になるのかと思っていました。

話は変わるのですが、Microsoft .NET Framework Data Provider for Oracle について
ドキュメントには「System.Data.OracleClient 名前空間は、.NET Framework Data Provider for Oracle です。」と書かれていました。
フォームデザイナ上でOracleDataAdapterを配置した際にデータアダプタ構成ウィザードが起動しますが、このときに「新しい接続」をクリックした際に表示されるダイアログの「プロバイダ」タブの OLEDBプロバイダリスト には「Microsoft OLE DB Provide for Oracle」が選択されています。
このリスト上に「Microsoft .NET Framework Data Provider for Oracle」というプロバイダが表示されるわけではないんでしょうか?


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