ODP.NET 11.1以降では、Oracle Data Provider for .NETがODP.NET構成設定の構成ファイルを読み取ります。 レジストリ・エントリは、特定のバージョンのODP.NETのコンピュータ全体の設定として引き続き使用されます。ただし、machine.config内の構成設定は、レジストリ値を上書きする設定として.NETフレームワーク全体で使用されます。 アプリケーションまたはWebの構成ファイルは、machine.configの設定を上書きするアプリケーション固有の設定です(レジストリも上書きされます)。
コンピュータ上の複数のアプリケーションが同じバージョンのODP.NETを使用していても、アプリケーションごとに異なる構成のODP.NETが必要になるシナリオでは、アプリケーションやWebの構成ファイルが便利で、必須になる場合もあります。 特定のバージョンのODP.NETのレジストリ値の設定は、そのバージョンのODP.NETを使用するすべてのアプリケーションに影響します。ただし、アプリケーションやWebの構成ファイルにODP.NETの構成値を設定しておくと、そのアプリケーションのみにそれらの設定を確実に適用できるので、よりきめ細かい設定が可能になります。
たとえば、アプリケーションまたはweb.configの構成設定のStatementCacheSizeが100に設定されている場合は、そのようなアプリケーション固有の設定により、そのアプリケーションがロードするバージョンのODP.NETのStatementCacheSizeでは100が使用されて、machine.configおよびレジストリの設定が上書きされます。 構成ファイル(machine.configまたはアプリケーションやWebの構成ファイル)に設定がない場合は、以前のリリースの場合と同様に、ロードされたバージョンのODP.NETのレジストリの値が使用されます。
ODP.NETは、ODP.NETのバージョンからではなく、ODP.NETが動作している.NETフレームワークのバージョンからmachine.configファイルを読み取ることに注意してください。
すべてのレジストリ設定を上書きする、.NETフレームワーク1.xアプリケーションのアプリケーション構成ファイルの例を次に示します。
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<oracle.dataaccess.client>
<add key="DllPath" value="C:\app\user\product\11.1.0\client_1\BIN"/>
<add key="FetchSize" value="65536"/>
<add key="StatementCacheSize" value="10"/>
<add key="TraceFileName" value="c:\odpnet1.trc"/>
<add key="TraceLevel" value="0"/>
<add key="TraceOption" value="0"/>
</oracle.dataaccess.client>
</configuration>
すべてのレジストリ設定を上書きする、.NETフレームワーク 2.0 アプリケーションのアプリケーション構成ファイルの例を次に示します。 この例には、バージョン2.111.6.0のODP.NETを参照するアプリケーション固有のプロバイダ・ファクトリ・エントリの設定方法も示されていることに注意してください。
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.data>
<DbProviderFactories>
<add name="Oracle Data Provider for .NET Version 11.1.0.6.0"
invariant="Oracle.DataAccess.Client Version 11.1.0.6.0"
description="Oracle Data Provider for .NET Version 11.1.0.6.0"
type="Oracle.DataAccess.Client.OracleClientFactory, Oracle.DataAccess,
Version=2.111.6.0, Culture=neutral, PublicKeyToken=89b483f429c47342" />
</DbProviderFactories>
</system.data>
<oracle.dataaccess.client>
<settings>
<add name="DllPath" value="C:\app\user\product\11.1.0\client_1\BIN"/>
<add name="FetchSize" value="65536"/>
<add name="PromotableTransaction" value="promotable"/>
<add name="StatementCacheSize" value="10"/>
<add name="TraceFileName" value="c:\odpnet2.trc"/>
<add name="TraceLevel" value="0"/>
<add name="TraceOption" value="0"/>
</settings>
</oracle.dataaccess.client>
</configuration>