- 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

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

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

よろしくお願いします。
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では出来るようになるのかな??)

ところで、CDはどのように使ったらよいのでしょうか?
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)