2.5 Oracle Data Provider for .NET管理対象ドライバのインストール
ODP.NET管理対象ドライバの導入
ODP.NET管理対象ドライバの導入には、Oracle Universal Installer (OUI)、XCopyまたはNuGetのいずれかを使用します。
OUIを使用する場合: 次のOracle Universal Installer (OUI)の手順に従って、ODP.NET管理対象ドライバをインストールします。
XCopyを使用する場合: インストールを開始するディレクトリにODP.NET管理対象ドライバの.zipファイルをダウンロードします。この.zipファイルには、XCopyのインストール手順を説明したREADMEファイルが含まれています。
次のいずれかのディレクトリにあるconfigure.batスクリプトを実行します。
-
32ビット.NET Frameworkの場合:
OH\odp.net\managed\x86 -
64ビット.NET Frameworkの場合:
OH\odp.net\managed\x64
ODP.NET管理対象ドライバの構成を解除する場合や、マシンから削除する場合のために、各ディレクトリにはunconfigure.batが含まれます。
NuGetを使用している場合: ODP.NET NuGetパッケージをダウンロードし、NuGet Package Managerを使用してインストールします。
次のNuGetパッケージを使用できます。
-
ODP.NET管理対象ドライバ
-
Code FirstおよびEntity Framework 6以上用のEntity Frameworkアセンブリは、ODP.NET管理対象ドライバを使用します。
Windowsインストーラを使用している場合: Microsoft Windowsインストーラ(MSI)の手順に従い、ODP.NET管理対象ドライバをインストールします。
ODP.NET管理対象ドライバのファイル
ODP.NET管理対象ドライバには、次のファイルが含まれています。
表2-1 ODP.NET管理対象ドライバのファイルと説明
| ファイル | 説明 |
|---|---|
|
|
プラットフォームに依存しない(AnyCPU)、完全管理のADO.NETプロバイダ |
|
|
プラットフォームに依存する(64ビット.NET Frameworkのみ)、分散トランザクション対応の管理アセンブリ |
|
|
プラットフォームに依存する(32ビット.NET Frameworkのみ)、分散トランザクション対応の管理アセンブリ |
|
|
プラットフォームに依存しない(AnyCPU)、完全管理のADO.NETプロバイダのリソースDLL |
|
|
ODP.NET管理対象ドライバおよび管理対象外ドライバの構成/構成解除を行うための、プラットフォームに依存しない(AnyCPU)ユーティリティ |
|
|
ODP.NET管理対象ドライバをGACに配置し、構成エントリをmachine.configに追加するためのバッチ・ファイル |
|
|
ODP.NET管理対象ドライバをGACから削除し、構成エントリをmachine.configから削除するためのバッチ・ファイル |
|
|
データソースのエイリアスを定義するサンプル構成ファイル |
|
|
ネットワーク関連の設定を構成するサンプル構成ファイル |
|
|
ODP.NET管理対象ドライバの構成セクションを定義するXMLスキーマ・ファイル |
|
|
プラットフォームに依存しない(AnyCPU)、Code FirstおよびEntity Framework 6以上用の完全管理アセンブリ |
|
|
プラットフォームに依存する(64ビット.NET Framework)、Kerberosサポート用の管理対象アセンブリ |
|
|
プラットフォームに依存する(32ビット.NET Framework)、Kerberosサポート用の管理対象アセンブリ |
-
Oracle.ManagedDataAccessDTC.dllが必要になるのは、アプリケーションで分散トランザクションおよびNET Frameworkバージョンが4.5.1以上を使用する場合のみです。.NET Frameworkの以降のバージョンではこのDLLを必要としません。 -
.NET Framework 4.5.1以前で稼働しているODP.NET管理対象ドライバによって分散トランザクションが使用されている場合、該当する
Oracle.ManagedDataAccessDTC.dll(32ビットまたは64ビットの.NET Framework)を、Oracle.ManagedDataAccess.dllがロードできるように、Global Assembly Cache (GAC)、またはその.exeと同じディレクトリにロードする必要があります。インストーラはこのDLLをGACしなくなります。手動で実行する必要があります。 -
Oracle.ManagedDataAccessDTC.dllはアプリケーションから直接参照しないでください。ODP.NET管理対象ドライバによって暗黙的に参照されます。 -
64ビットのOSでは、OUIによるインストールの完了時、またはXCopyによる
configure.batの呼出し時に、x64バージョンのOracle.ManagedDataAccessDTC.dllのみがGACに配置されます。
関連項目:
インストール手順については、Microsoft Windows用のOracle Databaseインストレーション・ガイド を参照してください。
2.5.1 プラットフォーム依存のアセンブリとその検索順序
ODP.NET管理対象ドライバには、プラットフォーム依存のDLLとして、Oracle.ManagedDataAccessDTC.dllとOracle.ManagedDataAccessIOP.dllの2セットがあります。各DLLについて、32ビット版の.NETと64ビット版の.NETがあります。100%管理コードで構成されていますが、.NET外部のAPIを呼び出すため、プラットフォーム依存です。
Oracle.ManagedDataAccessDTC.dllは、分散トランザクションのコーディネーションをサポートします。アプリケーションでこのアセンブリが必要なのは、.NET Framework 4.5.1以下で分散トランザクションが必要な場合のみです。.NET Framework 4.5.2ではオプションで使用します。
Oracle.ManagedDataAccessIOP.dllは、Kerberosをサポートします。アプリケーションでこのアセンブリが必要なのは、Kerberosセキュリティを使用する場合のみです。
これら2つのアセンブリは、アプリケーションによって直接参照することは想定されていません。暗黙的に参照されます。ODP.NET管理対象ドライバは、次の検索順序でこれらのアセンブリを参照します。
-
グローバル・アセンブリ・キャッシュ
-
Webアプリケーションのbinディレクトリ、またはWindowsアプリケーションの
EXEディレクトリ -
アプリケーションの実行環境が32ビットと64ビットどちらの.NET Frameworkかに応じて、
x86またはx64サブディレクトリ。アプリケーションがAnyCPUを使用して作成されている場合、ODP.NETはアセンブリが利用可能なかぎり、適切なビット数のDLLを使用します。アプリケーションがAnyCPUの場合は、この方法で依存するアセンブリを検索することをお薦めします。
たとえば、アプリケーションが64ビット版のOracle.ManagedDataAccessIOP.dllを使用する場合は、次の手順に従います。
- Visual Studioプロジェクトを右クリックして、「追加」、「新規フォルダ」の順に選択します。
- フォルダに「x64」という名前を付けます。
- 新しく作成したx64フォルダを右クリックして、「追加」、既存の項目の順に選択します。
- DLLがあるフォルダ(通常は
ORACLE_HOME\odp.net\managed\x64)を参照してそこまで移動し、 Oracle.ManagedDataAccessIOP.dllを選択します。 - 「追加」をクリックします。
- x64フォルダで、今作成したOracle.ManagedDataAccessIOP.dllをクリックします。
- プロパティのウィンドウで、「出力ディレクタにコピー」を「常にコピー」に設定します。
x86用アプリケーションの場合は、フォルダ名を「x86」とし、x86ディレクトリからアセンブリを追加します。
Oracle.ManagedDataAccessDTC.dllを追加する場合と同じ手順に従います。
Oracle.ManagedDataAccessDTC.dllかOracle.ManagedDataAccessIOP.dll 、またはその両方に依存する場合でもアプリケーションをプラットフォーム非依存にするには、x64とx86の両方のフォルダを作成し、そこにアセンブリを追加します。
2.5.2 インストール後のファイルの場所
Oracle Universal Installerベースのインストールの場合、Oracle.ManagedDataAccess.dllアセンブリは次の場所にインストールされます。
.NET Framework 4:
ORACLE_BASE\ORACLE_HOME\odp.net\managed\commonディレクトリ
ドキュメントおよびreadme.txtファイルは、ORACLE_BASE\ORACLE_HOME\ODACDoc\DocumentationLibrary\doc\index.htmにあります。
サンプルはORACLE_BASE\ORACLE_HOME\ODACsamplesディレクトリに用意されています。