SuppressGetDecimalInvalidCastException
このプロパティは、Oracle NUMBER
値の精度が28を超える場合に、InvalidCastException
を抑制して四捨五入された28精度値を返すかどうかを指定します。
宣言
// C# public bool SuppressGetDecimalInvalidCastException { get; set; }
プロパティ・タイプ
System.Boolean
備考
Oracle NUMBER
の精度は最大38です。.NET Decimal
の精度は最大28です。28を超える精度の数値を取得するためにGetDecimal()
メソッドがコールされると、ODP.NETは、数値が.NET Decimal
に変換されるときにすべての精度を保持できるわけではないため、InvalidCastException
をスローします。
この動作は、SuppressGetDecimalInvalidCastException
がfalse
に設定されている場合に発生します。デフォルト値はfalse
です。
SuppressGetDecimalInvalidCastException
がtrue
に設定されている場合、例外をスローせずに.NET Decimalとして収まるように、結果の10進数は28または29の精度に四捨五入されます。