2013年8月のOracleのAlexKehは、次のように述べています。
マネージドODP.NETがリリースされました。現在、OracleDB12cclientの一部です。マネージドODP.NETを使用するには、DBクライアントをダウンロードしてインストールする必要があります。そこから、管理対象のODP.NETアセンブリとセットアップファイルのみを抽出できます。これらのファイルは10MB未満であり、任意のターゲットマシンに展開できます。
現在、スタンドアロンのマネージドODP.NETリリースとODAC12リリースをパッケージ化しています。これはまもなくOTNでリリースされます。
数日待つことができる場合は、ODAC 12cがOTNで公開され、そのバージョンをダウンロードできます。これが、最新かつ最高のマネージドODP.NETバージョンになります
====
マネージドODP.NETをNuGetに配置する予定はありません。 ODACを使用したマネージドODP.NETダウンロードは、アセンブリの分離とダウンロードサイズに関してNuGetと同じ利点を提供すると考えています。
OracleがmanagedODP.NETNuGetサポートを提供する必要があるかどうかを議論するスレッドがあります。 ODAC 12cを使用したら、NuGetサポートがまだ必要かどうかについての考えをお聞かせください。https://forums.oracle.com/thread/2559445
Nugetが管理するODP.NET:
PM> Install-Package Oracle.ManagedDataAccess
それで、とにかく問題は何ですか?
これまで、ODP.NETはOracleクライアントの.dllファイルと通信する.NETレイヤーでしたが、これには多くの影響がありました。
- 大規模なインストールフットプリント(数百Mb)
- リモートマシンへの厳しい展開-クライアントマシンにODP.NETをインストールするか、大きなファイルを展開する必要があります
- 複数のバージョン、32ビット/64ビットOSおよびアプリケーションでの作業時の課題
それで、それは何ですか?
管理対象ドライバは、基本的にODP.NETの.Netネイティブ実装を含む単一の.dllファイルです。
つまり、Oracleクライアントは不要であり、ネイティブコードは舞台裏にあります。 XCopyのインストールは簡単に実行できます。
主なメリット:
- フットプリントが小さい
- 32ビット/64ビットOSおよびアプリケーションでスムーズに動作できるように、任意のCPUとしてコンパイルされます。同じマシンで複数のバージョンを簡単に管理できます
- applicationbinディレクトリに簡単な参照として展開できます。
それで、キャッチは何ですか?
- すべての機能がサポートされているわけではありません(ほとんどの機能はサポートされていますが...)。ドキュメントで詳細を確認できます
- 名前空間がOracle.DataAccess.ClientからOracle.ManagedDataAccess.Clientに変更されました
- パフォーマンスの違いはまだ明らかではありません。 (古い)ネイティブコードは常に非常に効率的に実行されますが、一方で100%マネージドコードにはパフォーマンス上の利点があります。
ネイティブコードODP.NETはまだ非常に利用可能であることに注意してください。マネージドバージョン(少なくとも今のところ)は、ネイティブバージョンに追加されます。
参照:http://oracleatdotnet.blogspot.com.es/2013/07/odpnet-managed-driver-beta-2.html
ODP.NETマネージドドライバーとアンマネージドドライバーの違い http://docs.oracle.com/html/E41125_02/intro004.htm
Oracle Data Providerfor.NETの機能 http://docs.oracle.com/database/121/ODPNT/features.htm#ODPNT0007