ODP.NETの特定のバージョンに対する設定は、いくつかの方法で構成でき、優先順位について次のような特定の影響があります。
Windowsレジストリ・エントリは、ODP.NETの特定のバージョンに対応するマシン全体の設定です。
machine.config
設定は、.NET Framework全体の設定であり、Windowsレジストリ値より優先されます。
アプリケーションまたはWeb構成ファイルの設定は、アプリケーション固有の設定であり、machine.config
の設定およびWindowsレジストリの設定より優先されます。
接続文字列と同等のすべての属性は、他のどの設定値よりも優先されます。
アプリケーションまたはWeb構成ファイルは、1つのコンピュータ上の複数のアプリケーションが同じODP.NETのバージョンを使用する場合に便利で、ときには必須となりますが、各アプリケーションには異なるODP.NET構成が必要です。ODP.NETの特定のバージョンに対してWindowsレジストリ値を設定すると、そのバージョンを使用するすべてのアプリケーションに影響します。ただし、アプリケーションまたはWeb構成ファイル内でODP.NET構成値を持つことにより該当するアプリケーションに対してのみその設定が適用されるため、より細分化して使用できます。
たとえば、アプリケーションまたはweb.config
ファイルのStatementCacheSize
構成設定が100
の場合、このアプリケーション固有の設定により、そのアプリケーションがロードするODP.NETのバージョンではStatementCacheSize
に対して100
が強制的に使用され、machine.config
およびレジストリ内の設定より優先されます。前のリリース同様、構成ファイル(machine.config
またはアプリケーションおよびWeb構成ファイル)に存在しない設定の場合は、ロードしたODP.NETのバージョンに対応するレジストリ内の値が使用されることに注意してください。
ODP.NETがmachine.config
ファイルを読み込むのは、ODP.NETのバージョンからではなく、ODP.NETを実行する.NET Frameworkのバージョンからであることに注意してください。
ODP.NETは、メモリーにロードされるとき、WindowsレジストリおよびXML構成ファイルのみを読み込みます。そのため、その後に行われた構成の変更は、アプリケーションを再起動するまで読み込まれず、使用されません。
ODP.NETは、次のような属性の構成をサポートします。
Windowsレジストリ内。
XMLファイル内。
接続文字列などの別のメカニズムを使用したとき。または、適用可能な場合、プログラムでODP.NETクラスを使用したとき。
表3-30では、ODP.NETでサポートされる構成可能な各属性について説明します。この表では、「構成サポート」という用語の後に、その属性で使用可能な構成サポートのタイプ(Windowsレジストリ、XMLファイルなど)が続きます。
この表では、各属性のデフォルト値および有効値を示します。
注意: 記載されているデフォルト値は、レジストリ・キーが存在しないか、どこにも構成されていない場合に、属性に対して使用される値です。 |
表3-30 構成属性
属性/設定名 | 説明 |
---|---|
|
接続を接続プールに戻す前に接続ステータスがチェックされるかどうかを指定します。このレジストリ・エントリは、ODP.NETをインストールしても作成されず、デフォルト値の 構成サポート: WindowsレジストリおよびXMLファイル 有効な値:
デフォルト: |
|
変更通知、HA、またはRLB機能についてデータベースから送信されるすべての通知をODP.NETがリスニングするポート番号を指定します。無効なポート番号または使用されているポート番号が指定されている場合でもODP.NETはエラーをスローしません。 構成サポート: Windowsレジストリ、XMLファイルおよびODP.NETクラス 有効な値:
デフォルト: |
|
依存する非管理Oracle Clientバイナリのロード元を指定します。 構成サポート: WindowsレジストリおよびXMLファイル 有効な値: 依存する非管理Oracle Clientバイナリが格納される場所のパス。 デフォルト: |
|
構成サポート: Windowsレジストリ、XMLファイルおよび 有効な値:
デフォルト: 0 |
|
データベース・ラウンドトリップからフェッチしたデータをODP.NETがキャッシュするために割り当てる合計メモリー・サイズをバイト単位で指定します。この値は、 構成サポート: Windowsレジストリ、XMLファイルおよびODP.NETクラス 有効な値:
デフォルト: |
|
ADO.NET 2.0の 構成サポート: XMLファイルのみ 有効な値: XMLファイルの完全ファイル名。 デフォルト: なし |
|
接続プーリングのパフォーマンス・カウンタの公開を有効または無効にします。複数のパフォーマンス・カウンタは、有効な値を追加することで取得できます。 構成サポート: WindowsレジストリおよびXMLファイル 有効な値:
デフォルト: |
|
最初の接続が 構成サポート: Windowsレジストリ、XMLファイルおよびpromotable transaction接続文字列属性 有効な値:
デフォルト: |
|
各接続についてデータベースでキャッシュされるカーソルおよび文の数を指定します。この設定は、接続文字列のStatement Cache Size属性に対応します。値が0を超える場合も文のキャッシングが有効になります。 構成サポート: Windowsレジストリ、XMLファイルおよびStatement Cache Size接続文字列属性 有効な値:
デフォルト: |
|
構成サポート: WindowsレジストリおよびXMLファイル 有効な値:
デフォルト: |
|
プロセス内で使用可能な各プロセッサに対するワーカー・スレッドのデフォルトの最大サイズを指定します。この値は、ODP.NETにおける、このスレッド・プールを使用した接続の作成、コマンドの実行のタイムアウト、外部プロシージャ( 構成サポート: WindowsレジストリおよびXMLファイル 有効な値:
デフォルト: ODAC 2007より前またはリリース11.1.0.6.20より前のリリースでは、ODP.NETは、 |
|
トレース情報のロギングに使用されるファイル名を指定します。 構成サポート: WindowsレジストリおよびXMLファイル 有効な値: 有効なディレクトリの場所およびファイル名。 デフォルト:
|
|
ODP.NETのトレース・レベルを指定します。すべてのオブジェクトに対するすべての開始および終了コールをトレースするのは過剰になる場合があるため、 構成サポート: WindowsレジストリおよびXMLファイル 有効な値:
デフォルト: 0 注意: ODP.NETは、値に対するビットのチェックは行いません。トレースを有効にすると、トレース・ファイルへのロギングがODP.NETのパフォーマンスに影響する可能性があります。 注意: ユーザーモード・ダンプの作成には、 |
|
トレース情報を1つのファイルに記録するか、スレッドごとの複数のファイルに記録するかを指定します。単一トレース・ファイルを指定した場合は、 構成サポート: WindowsレジストリおよびXMLファイル 有効な値:
デフォルト: |
|
ODP.NETがOracle UDTを取得して操作するために使用する各接続のオブジェクト・キャッシュのサイズをKB単位で指定します。 構成サポート: WindowsレジストリおよびXMLファイル 有効な値:
デフォルト: |
|
カスタム・タイプとデータベースのOracle UDTのマッピングを指定します。マッピングは、構成ファイルおよびカスタム・タイプ・ファクトリで指定できますが、マッピングが両方で指定されている場合は、構成ファイルで指定されたマッピングが、カスタム・タイプ・ファクトリを使用して指定されたマッピングより優先されます。 構成サポート: XMLファイルおよびカスタム・タイプ・ファクトリ・クラス 有効な値: 有効なマッピング デフォルト: なし |
次に、.NET Framework 1.xを使用するODP.NETに対応したapp.config
の簡単な例を示します。
<?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="20"/> <add key="TraceFileName" value="c:\odpnet1.trc"/> <add key="TraceLevel" value="0"/> <add key="TraceOption" value="0"/> </oracle.dataaccess.client> </configuration>
次に、.NET Framework 2.0を使用するODP.NETに対応したapp.config
の例を示します。いくつかの追加属性と、UDTタイプの2つのマッピングが設定されています。
<?xml version="1.0" encoding="utf-8" ?> <configuration> <oracle.dataaccess.client> <settings> <add name="DbNotificationPort" value="-1"/> <add name="DllPath" value="C:\app\user\product\11.1.0\client_1\bin"/> <add name="DynamicEnlistment" value="0"/> <add name="FetchSize" value="65536"/> <add name="MetaDataXml" value="CustomMetaData.xml"/> <add name="PerformanceCounters" value="4095"/> <add name="PromotableTransaction" value="promotable"/> <add name="StatementCacheSize" value="50"/> <add name="ThreadPoolMaxSize" value="30"/> <add name="TraceFileName" value="c:\odpnet2.trc"/> <add name="TraceLevel" value="0"/> <add name="TraceOption" value="0"/> <add name="Person" value="udtMapping factoryName='PersonFactory, Sample, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' typeName='PERSON' schemaName='SCOTT' dataSource='oracle'"/> <add name="Student" value="udtMapping factoryName='StudentFactory, Sample, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' typeName='STUDENT' schemaName='SCOTT'"/> </settings> </oracle.dataaccess.client> </configuration>