- PR -

Oracle9iに適したProviderは?

投稿者投稿内容
ばばりん
会議室デビュー日: 2002/12/19
投稿数: 9
投稿日時: 2002-12-20 00:04
こんにちは。
.NET環境でのOracleとの接続プロバイダは5種類あるようですがどれがよいのでしょうか?
�@ODBC .NET
�AMicrosoft OLE DB Provider for Oracle
�BOracle Provider for OLE DB
�CMicrosoft .NET Framework Data Provider for Oracle
�DOracle Data Provider for .NET

�A�BはツールボックスのOleDbDataAdapter等が使えコーディングが楽になります。
�C�Dはネイティブ接続で高速とのことですが...

【質問】
1.�C�Dはツールボックスのデータアダプターのような使い方はできないのでしょうか?
2.�Cは分散トランザクションコーディネータ(DTC)に対応しているのでしょうか?
3.�C�Dのサンプルはないでしょうか?

よろしくお願いします。
mito
ベテラン
会議室デビュー日: 2002/05/17
投稿数: 50
投稿日時: 2002-12-20 10:07
私は3を利用しています。特に問題はないようです。
早さとか使いやすさは良くわかりません。
今はとりあえず動けばいいということで(笑)。

サンプルはOracleのOTNに行けば3、5(英語です)は手に入ります。
2はVS.NETのヘルプにあったと思います。
1、4はMSDNオンラインのなかにあったような記憶が・・・(不確か)
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2002-12-20 13:44
こんにちは。
引用:

ばばりんさんの書き込み (2002-12-20 00:04) より:

(1)ODBC .NET
(2)Microsoft OLE DB Provider for Oracle
(3)Oracle Provider for OLE DB
(4)Microsoft .NET Framework Data Provider for Oracle
(5)Oracle Data Provider for .NET


 (2)は、結局(3)を使います(Oracleをインストールしていないと使えない)。(3)は、結局ODBCなので、(1)とパフォーマンス的には同じです。(4)は、Oracle用にチューニングしてあると言うことなので、速いのでしょう。DLしてありますが、試していません。

 何が遅いかというと、最初の接続です。oo4oが接続に1秒とかからないのに対し、ODBC(つまり、(1)〜(3))は5秒以上かかります(ローカルDBで計測)。その他、パラメータの設定の仕方がODBCだとかなりややこしいです。

 なお、OracleのHPに書いてある*らしい*のですが、接続文字列にはおまじないを入れるほうがいいようです。
5150
会議室デビュー日: 2002/07/24
投稿数: 3
投稿日時: 2002-12-20 18:51
こんにちは。

私の場合、以下の理由で「Oracle Data Provider for .NET (ODP.NET)」を使っています。
 1)名前つきバインド変数が利用できる。
   ・OLEDBでもバインド変数は使えるが、ポジショニングバインドしか使えなかった
 2)Oracleネイティブのため、高速。
   ・Jittaさんのご指摘どおり、最初の接続で非常に差が出ます。
    接続プールの機能も備えているため、さらに接続の高速化が可能。
 3)Oracle社がODP.NETを推奨している。
   ・ODP.NETのBeta2版で検証を行っていたときに参照したOracle社のドキュメントでは、
    (ODBC.NET、OLEDB.NET、ODP.NET の中で)ODP.NETを推奨する旨の記述が
    あった。

ODP.NETがリリースされる前は OLEDB.NET を使っていたのですが、
ODP.NETもOLEDB.NETも、クラス構造が似ているため、
OLEDB.NET→ODP.NETへの移行も、特に大きな問題はありませんでした。
ばばりん
会議室デビュー日: 2002/12/19
投稿数: 9
投稿日時: 2002-12-20 19:29
みなさん貴重な御意見ありがとうございます。
ネイティブ接続の
�CMicrosoft .NET Framework Data Provider for Oracle
�DOracle Data Provider for .NET
が良いようですね。
但しこれらは、ツールボックスからOleDbDataAdapterをデザイナに貼り付けるような使い方はできませんよね?コードをゴリゴリと記述するしかありませんよね?
(Visual Studio.NET2003では出来るようになるのかな??)

ところで、�C�Dはどのように使ったらよいのでしょうか?
�Cについては米マイクロソフトに
「Using .NET Framework Data Provider for Oracle to Improve .NET Application Performance」と言う記事があり、
�Dについては、米Oracleに「Oracle9i: Developing with Microsoft .NET」と言う記事がありましたが何れもあまり詳しくありませんでした。

詳細説明やサンプルコード等のURLを御存知でしたらお教え願えないでしょうか。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2002-12-21 08:48
引用:

ばばりんさんの書き込み (2002-12-20 19:29) より:

但しこれらは、ツールボックスからOleDbDataAdapterをデザイナに貼り付けるような使い方はできませんよね?


 そういう使い方は、結果的に、あまりお薦めしません。というのも、それ単体ではクラスですが、使う方がクラス化しにくいので、結局スパゲティープログラムになりました。時間に追われて急いで作ったこともありますが、ただいま後悔の嵐です。現在バージョンアップ作業中ですが、手を入れる部分はすべて外して作り直しています(ぉぃ)



>>(5)については、米Oracleに「Oracle9i: Developing with Microsoft .NET」と言う記事があ りましたが何れもあまり詳しくありませんでした。

 米OTNに加入済みなら、サンプルコードがあります。

[ メッセージ編集済み 編集者: Jitta 編集日時 2002-12-24 12:13 ]
ttcoupe
大ベテラン
会議室デビュー日: 2003/01/17
投稿数: 116
お住まい・勤務地: 大阪市
投稿日時: 2003-02-07 01:32
私は�Dがリリースされたのでこの方法いこうと思ったのですが、
OracleのR1だったので断念です(^-^;
で、�CのMicrosoft .NET Framework Data Provider for Oracle
を使用とおもいます。

これについても英語での解説しか見当たらないので、この会議室
に来られている皆さんがどこかで日本語の技術説明をしている
ドキュメントを見たことがあれば教えてください。

よろしくお願いします。
うま男
会議室デビュー日: 2003/01/31
投稿数: 4
投稿日時: 2003-02-07 08:52

ただいまASP.NETでWeb開発をしています。

.NETは全くの初心者なのですが、

.NET環境でのOracleとの接続はoo4oは駄目なのでしょうか?

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