ヘッダーをスキップ
Oracle Data Provider for .NET開発者ガイド
11gリリース1(11.1.0.7.20)
B56255-01
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

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を使用してインストールできるようになりました。


注意:

この項では、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ファイルに、ADO.NET 2.0およびOracleClientFactoryクラスを使用したアプリケーション用のエントリを作成します。これにより、DbProviderFactoriesクラスがODP.NETを認識できるようになります。


関連項目:

インストール手順については、Oracle Databaseインストレーション・ガイドfor Windowsを参照してください。

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

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

.NET Framework 2.0:

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

ドキュメントおよびreadme.txtファイルは、ORACLE_BASE¥ORACLE_HOME¥ODP.NET¥docディレクトリにインストールされます。

サンプルはORACLE_BASE¥ORACLE_HOME¥ODP.NET¥Samplesディレクトリに指定されます。

Windowsレジストリ

インストール後、ODP.NETは、Windowsレジストリ内の構成およびトレースのエントリを作成します。構成およびトレース・レジストリの値は、Oracleクライアントのインストールを実行しているすべてのODP.NETアプリケーションに適用されます。各ODP.NETアプリケーションは、値(たとえば、FetchSize)をODP.NETアプリケーション自身内で構成することで、これらの値をオーバーライドできます。ODP.NETレジストリの値はHKLM¥Software¥Oracle¥ODP.NET¥version¥にあります。

構成ファイル・サポート

1つのバージョンのODP.NETに依存したコンピュータに多数のアプリケーションを保有する顧客の場合、特定のバージョンのODP.NETに対するWindowsレジストリの設定は、そのバージョンのODP.NETを使用するすべてのアプリケーションに対して必ずしも適用可能ではありません。より粒度の高い制御を提供するため、ODP.NET構成ファイル・サポートでは、開発者がODP.NETの構成設定をアプリケーションの構成ファイル、web.configファイルまたはmachine.configファイルに指定することができます。

ODP.NETバージョン・レベルの構成設定を超える粒度の制御が不要な場合、構成ファイルを使用してODP.NETの構成設定を指定する必要はありません。

次に、.NET Framework 2.0に対応したweb.configファイルの例を示します。

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <oracle.dataaccess.client>
    <settings>
      <add name="DllPath"               value="C:\oracle\bin"/>
      <add name="FetchSize"             value="131072"/>
      <add name="PromotableTransaction" value="promotable"/>
      <add name="StatementCacheSize"    value="10"/>
      <add name="TraceFileName"         value="C:\odpnet2.trc"/>
      <add name="TraceLevel"            value="63"/>
      <add name="TraceOption"           value="1"/>
    </settings>
  </oracle.dataaccess.client>
</configuration>

非管理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環境変数で指定されたディレクトリ。

DllPathレジストリ値は、Windows 2000を除く、サポートされているすべてのWindowsオペレーティング・システムで有効です。Windows 2000の場合、ODP.NETは、依存する非管理DLLをロードする際、アプリケーション・ディレクトリおよび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ファイルを指定する必要があります。構成ファイルの設定は、パッチや新規バージョンが後からインストールされたかどうかにかかわらず、常にアプリケーションに適用されます。

ODP.NET構成ファイル・サポートは 10.2.0.4以降のバージョンでのみ使用可能です。

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

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