Oracle Data Provider for .NET管理対象外ドライバのインストール
Oracle Data Provider for .NETはOracle Data Access Components(ODAC)の一部であり、OTNからダウンロードできます。Oracle Data Provider for .NET、Unmanaged Driverは、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を認識できるようになります。
インストール後のファイルの場所
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 Universal Installerを使用して実行されるODACインストールのORACLE_BASE
\
ORACLE_HOME
\
ODACDoc\DocumentationLibrary\doc\index.htm
からアクセスできます。Oracle Developer Tools for Visual Studioがインストールされている場合、OracleドキュメントはVisual Studio自体にインストールされます。
サンプルは、Oracle Universal Installerを使用して実行されるODACインストールの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など)を次の順序に基づいて検索します。
-
アプリケーションまたは実行可能ファイルのディレクトリ。
-
アプリケーションの構成ファイルまたは
web.config
に指定されたDllPath
設定。 -
machine.config
に指定されたDllPath
設定。 -
Windowsレジストリに指定された
DllPath
設定。HKEY_LOCAL_MACHINE\Software\Oracle\
ODP.NET\
version
\DllPath
-
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 (OraOps19.dll
)を使用します。