一般的な.NETプログラミング推奨およびODP.NETのヒント
-
Thread.Abort()は使用しないでください。非管理リソースが解放されず、メモリーのリークおよびハングの原因になる可能性があります。 -
リソース使用率を最適化するには、
OracleConnectionやOracleCommandなどのODP.NETオブジェクトが不要になったときに、オブジェクトのクローズまたは破棄、あるいはその両方を明示的に行う必要があります。.NET Frameworkのガベージ・コレクタによるリソースの再生に頼るのではなく、この作業を行ってください。ストレス条件下ではCloseまたはDisposeの明示的なコールによってリソース使用率が大幅に低下することを多くのユーザーが確認しています。 -
System.AccessViolationException、System.Runtime.InteropServices.SEHExceptionなど、メモリー破損に関連するような例外がアプリケーションに発生した場合は、アプリケーションの実行を続行しないことをお薦めします。 -
HKEY_LOCAL_MACHINE\Software\Oracle\NLS_LANGレジストリ・エントリがNAに設定されていると、ODP.NETでORA-12705エラーが発生します。この問題を解決するには、HKEY_LOCAL_MACHINE\Software\Oracle\NLS_LANGレジストリ・エントリを削除します。 -
.NETを文字列内で使用する場合、円記号
\や二重引用符"など特定の特殊文字はエスケープする必要があります。接続文字列またはクラス・プロパティでは、.NETで特殊文字の前にエスケープ文字(円記号)を使用する必要があります。文字列の中で円記号を表すには、二重円記号\\を使用します。文字列の中で二重引用符を表すには、円記号の後に二重引用符を続けて\"使用します。あるいは、アットマーク@を使用して、文字列全体を逐語的な文字列リテラルとしてマークします。こうすると、.NETは特殊文字を無視します。 -
アプリケーションでLDAPを使用しない場合は、アプリケーションに
System.DirectoryServicesおよびSystem.DirectoryServices.Protocolsライブラリを含める必要はありません。