SuppressGetDecimalInvalidCastException
このプロパティは、InvalidCastException
を抑制し、28または29の精度に四捨五入された.NET Decimalとして表すことができるOracle NUMBER
値を返すかどうかを指定します。
宣言
// C# public bool SuppressGetDecimalInvalidCastException { get; set; }
プロパティ・タイプ
System.Boolean
備考
Oracle NUMBER
の精度は最大38です。.NET Decimalの精度は最大28または29です。GetDecimal()
メソッドが.NET Decimalとして表現できないOracle NUMBER
値に対して呼び出された場合、数値を.NET Decimal
に変換する際にすべての精度を保持できるわけではないため、ODP.NETによりInvalidCastException
がスローされます。
この動作は、SuppressGetDecimalInvalidCastException
がfalse
に設定されている場合に発生します。デフォルト値はfalse
です。
SuppressGetDecimalInvalidCastException
がtrue
に設定されている場合、例外をスローせずに.NET Decimalとして収まるように、結果の10進数は28または29の精度に四捨五入されます。端数処理された数値が .NET Decimalに格納できる数値を超える場合は、数値1 x 10^32などの例外がスローされます。
SuppressGetDecimalInvalidCastException
プロパティは、OracleConfiguration
、OracleConnection
およびOracleDataReader
オブジェクトでも構成できます。OracleDataAdapter
SuppressGetDecimalInvalidCastException
プロパティ値は、作成時にOracleConnection
、OracleCommand.Connection
またはOracleConfiguration SuppressGetDecimalInvalidCastException
プロパティ値を継承します。
OracleDataAdapter.SuppressGetDecimalInvalidCastException
を使用すると、このODP.NET設定がOracleDataAdapter
の存続期間に有効になります。
関連項目: