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?