So che ci sono diversi thread e post relativi a questo problema in Internet e li ho letti (non tutti gli articoli, devo ammettere) ma nessuno di questi mi ha soddisfatto pienamente.Numero Oracle a C# decimale
La mia situazione:
sto usando ODP.net (dll versione 2.111.6.0) per accedere al DB di Oracle (versione 10 + 11) e un DataReader per recuperare i dati (.NET 3.5, C#).
Utilizzando questo codice genera un ' System.OverflowException (operazione aritmetica determinato un trabocco.)'
decimal.TryParse(oraReader.GetOracleDecimal(0).Value.ToString(),
NumberStyles.Any, null, out parsedOraDecimal)
e questo si traduce in un valore di ' 3,000000000000000000000000000000000000000000000000000000000E-126'
decimal.TryParse(oraReader.GetOracleValue(0).ToString(),
NumberStyles.Any, null, out parsedOraDecimal)
Ora devo trovare un modo per recuperare e valutare correttamente questo valore - il DB è utilizzata anche da altre applicazioni che sono fuori dal mio controllo quindi i cambiamenti non sono possibili.
Anche la conversione dei tipi nel mio codice C# da "decimale" a "doppio" non è realmente un'opzione.
Qualche idea?
Ciao Dave, grazie per il suggerimento! –
Questo fallisce su numeri molto grandi – Stig