OracleDecimalの精度はdecimalよりも高くなっています。そのため、最初に精度を下げる必要があります。すべての解析を忘れて、暗黙の変換を使用してください。 (テストされていない)の線に沿って何かを試してください:
decimal d = (decimal)(OracleDecimal.SetPrecision(oraReader.GetOracleDecimal(0), 28));
OracleDecimalの精度はdecimalよりも高くなっています。そのため、最初に精度を下げる必要があります。すべての解析を忘れて、暗黙の変換を使用してください。 (テストされていない)の線に沿って何かを試してください:
decimal d = (decimal)(OracleDecimal.SetPrecision(oraReader.GetOracleDecimal(0), 28));