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をスローします。

この動作は、SuppressGetDecimalInvalidCastExceptionfalseに設定されている場合に発生します。デフォルト値はfalseです。

SuppressGetDecimalInvalidCastExceptiontrueに設定されている場合、例外をスローせずに.NET Decimalとして収まるように、結果の10進数は28または29の精度に四捨五入されます。