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>