一般的な.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は特殊文字を無視します。