Número de Oracle a C # decimal

Sé que hay varios hilos y publicaciones con respecto a este tema en Internet y los he leído (no todos los artículos, debo admitir) pero ninguno de ellos me satisfizo por completo.

Mi situación:
Estoy usando ODP.net (dll versión 2.111.6.0) para acceder a la base de datos Oracle (versión 10 + 11) y un DataReader para recuperar los datos (.NET 3.5, C #).

El uso de este código resulta en un 'System.OverflowException (la operación aritmética provocó un desbordamiento).'


decimal.TryParse(oraReader.GetOracleDecimal(0).Value.ToString(), 
  NumberStyles.Any, null, out parsedOraDecimal)

y éste resulta en un valor de '3,0000000000000000000000000000000000000000000000000000000E-126'


decimal.TryParse(oraReader.GetOracleValue(0).ToString(), 
  NumberStyles.Any, null, out parsedOraDecimal)

Ahora tengo que encontrar alguna forma de recuperar y evaluar este valor correctamente: la base de datos también se usa desde otras aplicaciones que están fuera de mi control, por lo que no es posible realizar cambios.

Convertir los tipos en mi código C # de 'decimal' a 'doble' tampoco es realmente una opción.

¿Algunas ideas?

Respuestas a la pregunta(2)

Su respuesta a la pregunta