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