プライマリ・コンテンツに移動

Oracle® Data Provider for .NET開発者ガイド ODAC 12.2c リリース1 (12.2.0.1) for Microsoft Windows E88311-03 |
| 目次 | 索引

前 | 次 |

# Oracle Data Provider for .NET管理対象外ドライバのインストール

Oracle Data Provider for .NETはOracle Data Access Components(ODAC)の一部であり、OTNからダウンロードできます。ODAC 11.1.0.6.20から、Oracle Data Provider for .NETはXCopyまたはOracle Universal Installerを使用してインストールできるようになりました。

- XCopy

  XCopyは、Oracle Data Provider for .NETを多数のコンピュータに本番デプロイ用にデプロイする場合に、管理者が使用します。インストールおよび構成中のXCopyのインストール・サイズはOracle Universal Installerに比べて小さく、また、XCopyにはファイングレイン・コントロールがあります。

- Oracle Universal Installer(OUI)

  開発者および管理者は、Oracle Universal Installerを使用してODP.NETの自動インストールを行います。これには、XCopyに含まれていないドキュメントおよびサンプル・コードが含まれています。

注意:

この項では、Oracle Universal Installerを使用したインストールについて説明します。XCopyを使用したインストールおよび構成については、インストールに含まれているREADME.TXTを参照してください。

さらに、Oracle Data Provider for .NET Dynamic Helpが、Visual Studio .NETとともに登録され、Visual Studio .NET Dynamic Helpとシームレスに統合された文脈依存のオンライン・ヘルプを提供します。Dynamic Helpでは、ユーザーは、ODP.NETのキーワードにカーソルを置き、[F1]キーを押すことで、Visual Studio .NET IDE内のODP.NETドキュメントにアクセスできます。

Oracle Data Provider for .NETは、インストール先のコンピュータの`machine.config`ファイルに、`OracleClientFactory`クラスを使用したアプリケーション用のエントリを作成します。これにより、`DbProviderFactories`クラスがODP.NETを認識できるようになります。

ODP.NET管理対象外ドライバのEntity Framework 6およびCode First機能は、NuGetパッケージを通じて利用できます。OUIおよびXcopyのインストールにはこのパッケージも含まれていますが、インストール後の構成手順が必要です。ODP.NET管理対象外ドライバのEntity Framework用のNuGetパッケージでは、インストール後の手順が自動化されていますが、アプリケーション固有の接続文字列設定のみ必要になります。

関連項目:

Entity Framework Code First用の構成

## インストール後のファイルの場所

`Oracle.DataAccess.dll`アセンブリは、次の場所にインストールされます

.NET Framework 2.0:

`ORACLE_BASE``\``ORACLE_HOME``\``odp.net\bin\2.x`ディレクトリ

.NET Framework 4:

`ORACLE_BASE``\``ORACLE_HOME``\``odp.net\bin\4`ディレクトリ

注意:

対応する.NET Frameworkがマシンにインストールされている場合は、マシン全体の構成が設定されていると、`Oracle.DataAccess.dll`アセンブリがグローバル・アセンブリ・キャッシュ(GAC)に追加されます。これによって、既存のアプリケーションは、新しくインストールされたODP.NETバージョンをすぐに使用して確実に起動できます。これが不要な場合は、ポリシーDLLをGACから削除するか、マシン全体でない構成を選択してください。

ドキュメントおよび`readme.txt`ファイルは、`ORACLE_BASE``\``ORACLE_HOME``\``ODACDoc\DocumentationLibrary\doc\index.htm`にあります。

サンプルは`ORACLE_BASE``\``ORACLE_HOME``\``ODACsamples`ディレクトリに用意されています。

## 非管理DLLの検索順序

ODP.NETは、管理バイナリと非管理バイナリで構成されています。`DllPath`構成パラメータを使用すれば、依存する非管理Oracle Clientバイナリのロード元の場所`ORACLE_BASE\\ORACLE_HOME``\bin`をアプリケーションごとに指定できます。ただし、`ORACLE_BASE\\ORACLE_HOME`には、アプリケーションで使用されるものと同じバージョンのODP.NETがインストールされている必要があります。インストールされていない場合、バージョンの不一致による例外がスローされます。

`Oracle.DataAccess.dll`は、依存する非管理DLL(Oracle Clientなど)を次の順序に基づいて検索します。

1. アプリケーションまたは実行可能ファイルのディレクトリ。

2. アプリケーションの構成ファイルまたは`web.config`に指定された`DllPath`設定。

3. `machine.config`に指定された`DllPath`設定。

4. Windowsレジストリに指定された`DllPath`設定。

   `HKEY_LOCAL_MACHINE\Software\Oracle\``ODP.NET\``version``\DllPath`

5. Windowsの`PATH`環境変数で指定されたディレクトリ。

ODP.NETのインストール時に、Oracle Universal Installerは、`DllPath` Windowsレジストリ値を対応する依存DLLがインストールされた`ORACLE_BASE\\ORACLE_HOME``\bin`ディレクトリに設定します。開発者はこの構成情報をアプリケーションごとに指定する必要があります。

新しいバージョンのODP.NETがインストールされると、その新規バージョンに対応したデフォルト値がWindowsレジストリに設定されます。ポリシーDLLがすべてのODP.NET参照をこの新規バージョンのODP.NETにリダイレクトするため、アプリケーションはデフォルト値を使用します。開発者は、このリダイレクトを回避するため、アプリケーションに固有の構成ファイルまたは`web.config`ファイルを指定する必要があります。構成ファイルの設定は、パッチや新規バージョンが後からインストールされたかどうかにかかわらず、常にアプリケーションに適用されます。

注意:

.NET Framework 2.0用の`Oracle.DataAccess.dll`および.NET Framework 4用の`Oracle.DataAccess.dll`は両方とも同じ非管理DLL(`OraOps12.dll`)を使用します。

### ODP.NETおよび依存する非管理DLLの不一致

`Oracle.DataAccess.dll`アセンブリの非管理DLLの正しいバージョンでの使用を強制するため、`Oracle.DataAccess.dll`が依存する非管理DLLと異なるバージョンをロードすると例外が発生します。